-................------------------+--++++----++++++--++++++++*++++++***%%#&&&&&&@@&@#++-++*%%**++*+#+-*++-++++*+*+***###&@@&&&&&&&&##&##&@@@@@&++*%*+*%**#*&%-&@@@@@@@@@@@@███████@@@@@@@@@@@&@@@@@@@@@&&&&&&@@@@@@@@@@&&&&&&&&&&@&&@@@@@@█@@@&&@@@@@@@███@@@█████@@@@@@@@@@@@@@@@@@@@&&&&&&@&&&#&&@@@@&@&&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&@@@&&@@@@@@@@@@@@████@@#%#%*%#####&&&#&&&&#&&&&####%**+----.....................................................----------.-----.............-
--.................------------------+++-++---+++++++++++++++++**++++***%%#&#&&&&&&@&++--*****%++++%+-+*-+++++-++*+*%*%&##&@@&&&&&&&&####&&@@@@&+*****%*+-%#%%-@@&@@@@@@@@@@@@@████@@@@@@@@@@@@&@@@@@@&&&&&&&&&&&&&&&&@@@&&&&&&&&&&&&@@@@@@@@@@&&@@@@@@@@@@@██@█████@@@@@@@@@@@@@@@@@@@&&&&&&@&&&&&&&@@@@@@@&&&&&@&&&@@@@@@@@@@@&&&&@@@@@@@&&&&&&&&@@&&&&@@@@&&&&@@█████@@&&&#%%#%###&&&&&&@@@&&@&##%#%%*+----...................................................------------.----.............-
-................-..-..----++---------+++--++--++++++++++++++++***+++***%##&&&&&&&&&+-*++++-++++++%+.+*++-++-+++*++*+*%@&#&&@@&&&&&&&&&&&&&&&@@%****+++*+-+##+%@&&@@@@@@@@@@@@@@@████@@@@@@@@&&@&&&@@@@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@&&&@@@@@@@&@@@@@@@@██████@@@@&&&@@@@&@@&&&&&&&&@&&&&&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&@@@@@&&&&&&&&@@@&&&&@@@&&&&@@███@@@██@@@&#####&&&&&&&&@@@@@@&&&##%%*-----.................................................-.----------------.............-
-.................-...------+++---+++---+++--+-+++++++++++++++++**+****%%#&&&&&&&&&++---+---+-.--++.++-+++**+++++++**%#@@&&&&&&&&&&&&&&&&&&&#%*+-+*+*#&#+*@&##@&&&&&@@&@@@@@@@@@@@████@@@@@@@&&&&&&&@@@@&&&&&&&&&&&&&&&&&&&&@@@&&&&&&&&@@@@@@@@&&&@@@@@@@@&&@@@@@@@@@████@@@&&&&@@@@@@&&&&&&&&&&&&#&&&&&&@@@@@@@@@@@@@@@@@@@&&&&@&&&&&&@@@@@&&&@@@@@@@&&&&@@@&&&&&@@██@@@@███@@&&&&&&&&&&@@&&@@@@@@@@&&#%%+----................................................-.------------------............-
-.................------------++--++++--+++++++++++++**+++*+++*+*******%##&&&&&&&&*+--------+-----.--*--++**+++++*+*+*#█@&&&&&&&&&&&&&&&&#%*+..--*##&&&%%&@#&&@&&&##&&&&@@@@@@@@@@@██████@@@@&&&@&&&&&@@@@@&&&&&&&&&&&&&&&&&&&&@&&&&&&&&@&@@@@@&&&&@@@@@@@@&&@&&@@@@@@████@@@&&&&@@@@@@&&&&&&&&&&&&&&&&&&&&&&&@@@@&@@@@@@@@@@@&&@&&&&&&&@@@@@@@@@&&@@@@&&&@@@@&&&&@@███@@@@@████@@@@@@@&&&&@@&@@@@@@@@&&##%+----...............................................---------------------...........-
..-.............--------------++++++**++++++++++++++****++++++*+*******%###&&&&&&*-+---.-.-------.---*--++-*++********%@@&@&&&&&&&&&&&&#+----+%%##&#%*%&@@@%%%&&&@##&&&&&&&&@@@@@@@@███████@@@&&&@&&&&&@@&@@@&&&&&&&&&&&&&&&&&&&&&&&@&&&&&&@@@@@&&&&@@@█@@@@&&&&&@@█@@@████@@@&&&&&@@@@@&&&&&@@@@@@&&&&&&&&&&&&&@@@@@@@@@@@@@@@@@@@@&&&&&&&&@&&&&&&&&&&@@@&@@@&&&&&@█████@@@@██████@@@@@@@@@@@@@@@@@@@@&&##%+----.........................................--------------------------...........-
....--........-----------------+*+++++*++++++++++++++*******+++++******%##&&&&&@#--++-...-----....--++--++++***-+***+*#&@#&@&&&&&&&&&&@+.-%%%###&&%**%#&&#&%%%&#%%#&#&&&&&@@@@@@@@@@@@@█████@@@&&&&&&&&@@&&@@@@@&&&&&&&&&&&&&&&##&&&&@&&&&&@&@@@&&&&@@@@@@@@@&&@&&&@@@@@████@@@&&&&&@@@@@@@@@@@@@@@@@&&&&&&&#&&&&@@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&&&##&&@@@&@@@&#&&&█████@&&@@██████████@@@@&@@@@@@@@@@@&#%%*+----........................................---------------------------..........-
...-....-.....------------------+**+++**+++++++++++++**+********+++****%##&&&&@#+--+--.--------..----*--++--++-.+*****##&#&&&@&&&&&&&&@--+*#&###&%-*#%%#####*%%*%%*&&&&&&&&@@@@@@@@@@@@@█████@@&&&&&&&&&&&&&&@@@@@@&&&&&&&###&&&###&&@&#&&&&@&&&@&&&&@&&@@@@@@&&&&&@@@@@@█@██@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&&###&&&@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&@&&&&##&@@@@@@@#&#&@@@@@█@&&&@@██████████@@@&@@@@@@@@@@@&##%++----......................................------------------------------........-
....-.....-....-----++----------++*++****++++++++++*******%%%%%%*+++***%##&&&&@+---+--.-----.-....-++++-*-+*%*.-+++%%++#@@&&&&&&&&&&&&@%%+--*#*+++*%%***%&#%**+**%**%&@&&&&&@@@@@@@@@@@@@@█████@&&&&&&&&&&&&&&&@@@@&&&&&&&&&###&&####&@&&&&&&&&&&&&&&&&&&&@@@@@&&&&&@@@@@@@@██@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&##&&&&@@@@@@@@@@@@@@@@@@@@@@@&&&&@&&&&&&###&&@@@@█@&&#@@@&@@@@&&@@@███████████@@@@@@@@@@@█@@&##%++---......................................-------------------------------.......-
.........----.-.---+++-----------+**++****+**++++++***%%%%**%%%%%*+***%%#&&&&@%-+-----.-.--+-.-#----++-++++++.-++++***++#&&%*%#&&&&&&&@#%*+--%+-+##*****##*+++***%%*+*#&&&@@&&@@@@@@@@@@&@@@@███@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&##&&####@@&#&&&&&&&@&&&&&&&&&&@@@@@@&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&###&&&&&&@@@@@@@@@@@@@@@@@@@@@@&&&&@@&&&&&###&&@@@██@&&@@@&@@@@&&&&&@@██@@███████@@@@@@@@@@█@@&#%*+----....................................------------------------------------...-
.........-..------++++------------+*******+****++++*****%%%%%%%%%%%***%##&&&&#++-------....--.-%------+*-++++.-+**+**++++**+-*%#&&&&&@&%%**+-*%*********#@%**%+++***+-+%*@&&&&&&@@@@@@@@@&@@@@███@&&&&&&&&&&&&&&&&#&&&&&&#&&&&####&###&@&&&&&&&&&&&&&&&&&&&&&&@@@@@&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&@@@@@@@@@@&&###&&&&&&@@@@@@@@@@@@@@@@@@@@@@&&&&&&&&&&###&&&@@@█@&@@@&#@@@&&&&&&&@@@@@██@@███@█@@@@@@@█@@&#%%++----..................................-------------------------------------...-
...........----++--+--------+-----+******%*+***+++++***%%%%##%%%##%%%%##&&&&&++++---.-..++-+---*-.---+*+-+-+-+++****++++***+*%#*&&&&&&++-+*%%%%-++***+*%#@#*+++-+**+++***%&&&&&&&@@@@@&@@&&&@@@████@@&&&&&&&&&&&&&&###&&&&#&&&&####&&##@&&&&&&&&&&&&&&&&&&&&&&&@@@@@&&@@@@@@@@@@@@@@@@@@@@@@&&&@@&&&&@@@@@@@&@@&&&&&&&&&&&@@@@@@@@@&@@@@@@@@@@&&&&&&&&##&&&&&&&@@@█@@@@@##&@@&&&&&&&@@@@@@@@@@█@██@@@@@@@@@@&#%*++---..................................--------------------------------------..-
.......-...-------++--------+------+*****%%+**++++++++*%%%%###########&&&&&@%+-+----.-++-+-+---*+.-.+---+++--++**+*%*++++**+*++%@@&%%*-+--++-+-.-***%++*%##%%#%%+******%#*#&&@@@&@@@@@@&&&&&&&&@█████@@@@&&&&&&&&&&&&&#&&&&#&#######&&&&@&#&&#&&&&&&&&&&&&#&&#&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@&##&&&&&@@@@@@&&&&&&&&&@&&&&&&&&&&&&&&&&&@@@@@@&&&&&&&&&&&##&&&&@@@@@██@@█&##@@&&&&&&&&@@@@@@@@@@███@@@@&@@@@@&##%++--+-...............................----------------------------------------..-
......--..-------++----------+-----++*****%****++++++***%%########&&&&&&&&&%+-+-----.-++-..-.++++.---..+-.----+***%**%%*+****--*#*+++-+---+. **--+%#%**+%&%+**+++--*+*%%%#*@&&@@@@@@@@@&&&&&&&&@@█████████@&&&&&&&&&&&&&&&&&#&#######&&&@&##&&##&&&&&&&&&&##&###&&&@@@&@@&@@@@@@@@@@&@@&&@@@@@@@&&&&&&&&@@@@@@&&&&&&&&@@&&&&&&&&&&&&&&&&@@@@@@@&&&&&&##&&&&##&&@@@@@██@█@&#&@@@&&&&&&@@@@&&&@@@@██@@@@&@@█@@@###*++-++--............................-----------------------------------------.--
.......-.-.-..----------------+-----+*****%%***++++++**%%%%%####&&&&&&&&&&#-++----..--...... -+.+.--. .-++----++*%%**%*****++**++*+++------.-+%+--+**%%*#@%+***##%**%*%#%&%#@@@@@&&&@@@@@&&&&&&&@@@@@@@█████@@@@@&&@@@@@@&&&&&##&&#####&&@&##&&###&&&&&&&####&###&&&&&&&&&&&@@@&@&@@@@&&&@&@@@&@&@&&&&&&&@@@@@@&&&&&#&&&&&&&&&##&&&&&&&&&@@@@@@@&&######&&&&&&&&@@@@@███@&&#&@&&&&#&&&@&@@&&&&&&@█@@@@&@@█@@@&##*++++*----.........................---------------------------------------------
........--...------------------++---++*****%%**+++++**%%%%%###&&&&&&&&&&&%*+---------.....-+.--..--. .----+--++*********%+--++-+**++---+--.+-+%*+++%#%%*#*+*++*+---..-%#&@#@@@@@&&&&@@@@&&&&&&&&@█@@@@@@@@@██@@@@@@@@@@@@@&&&&##&&####&&&&####&&###&&&&&&&&&#&&###&&&&&&&&&&&&&&&&&&&&&&&&&&@@&&&&&&&&&&&@@@@@&&&&&&&&###&&&#####&&&&&&&&@@@@&@@&########&&&&&&&@@@@@@@█@&&&&@&&&###&&&&&&&&&&&&@@@@@&@@@█@@&&#%++***--------.....-...............---------------------------------------------
.............------------------++++-++***%*%%**+++**%%*%%#######&&&&&&&&#+-+--------..-..----..+--. .-.+----+++++*****%*++-+--++++---++-..+--+#*+-+%%%+%+-------.-+*%#&%#@&@&&&&&&&@@@@@&&&&&&&&@@@@@@@@@@@██@@@@@@@&@@@@@@&&&########&&&&###########&&&&&&&&&&&&@@@@@@@&&&&&&&########&&##&&&&&&#&&&&&&&&&&@@&&&&&&&&&&&&##&#&###&&&&&&@&@@@&@@&########&&&&&&@@@&&@@██&&&&&&&&&##&&&&&&&&&&&&@@@@&&@@@@@@@&#%**%#+--------....--.............-----------------------------------------------
.......-..--.----.----..---------+++++**%%%*%%****%%%%###########&&###&#+-++--+-----.---++-++--..- .--.-----+*++*++****+++-+-+++++-.-++-.--.--+%+--+%*%#*****%*%***+.+##&#@&@&&&&&&&@@@@&&&&&&&&&@@@@&&&@@@@███@@&&&@&@@@@@@@&&&&&#####&&&&####&#########&&&&&&@@@&&&&&@@&&&&&&&&&##%###&###&&&######&&&&&&&&&&&&&&&&&&&&&&&&########&&#&&&@@&&@@&####&&&&&&##&&@&&&&@@@@@@@@&&&&&#&&&####&&&#&&@&@&&&@@@@@@@&%%%##+-------+.-.-+-.............-----------------------------------------------
.........-----------------------+++*++**%%%%%#%%%%%%#######&&&&&&&####&*+++---++---------..----...+ .---..--..----+*****%++-++-+*+---++-+-.------+%*-.-+#&--%**-.*#+*++*#&#%&&&&&&&###&@&&&&&&&&&&&&@@@&&&&&@@@███@@&&&@@@@@@@@@&&&&&&&&&#&@@@&&&&&#&&##&&&&#&&@@@@@&&&&&&&&&&&###&#######&&###&&#%%%###&&&&##&&&&&&&&&&&##&&&&&#######&&&&&&&@&&&@&&####&&&&&###&&&&&&@@@&@@@@&&&@&&&&&####&&&##&&&@&&&@@@@@@@&##&@#*++--+--+---++..............-----------------------------------------------
..........----..---------------+++++****%%%%%%#%%%######&&&############++*---*+---------+------ .*+ -+.-..-+-+-++*-+*+++++*+--*+---*+-++.--.------**-..*%+*%+**%#*-+*+*@&&##&&&&&&####&&&&&&&&&#&&&&@@&&&&&&@@@████@&&&&&@@@@@@&&&&&&##&##&&&@@@&&#####&&&&@@@@@@@@@&&&&&&&&&&############&&###&&#%%%%#######&&&&&&&&&&&&&&&&&&&&&##&##&###&&&&&&&&&###&#&&&&&&&&&&&&&&@&&&&&&&&&&@@&&&&#########&&&&#&&@@█@@@&&@@#%*+++-+-++-+-*+.-..........-------------------------------------------------
......-------.-.---------------++++++***%%%%#%###############%%%%%%%%#*-+%+--++-+-----.........-+-.*-.-.-++-.---..+*-*++++-++--+-+++++++-.--..------%*-.-*++-+--+++-++-+%#@##&&&#########&&&&##&##&&&@@@&&&&&&&&@@███@&&&&&@@@@@@@@&&&&&&&&&&@@@@@&&##&&&@@@@@&@@@&&&@@&&&&&&&&#############&&##&&&##%%%%##########&&&&&&&&#####&&&&&####&###&&&&&&&&&#%####&&&&&&&&&#&&&&&&&####&&&@@@&&&#########&&&#&&&@████@@█@%%*++++++**++*%--..........--------------------------------------------------
..-...-------.-.----------------++++****%%%#################%%%%%%%%%%*-+*+-+-++-----..-- *+.-+-+%..*-..--.----+%*---++-+*-+*+--+*+%*--+-.-...-----.-*+--+--+++-+**++-.. -#&%&####%#######&&&&#####&&@@@&&&&&&&&&@@████@&&&&@@@@@@@@@@&&&&&&&&@@@@@@@@@@@@@@@@@&&@&&&&&&&&&&&&&&###########%#####&&&#%%%%%%###%##############%#%####&&&#######&&&&&&&&#######&&&&&&&&##&&&&&&&#%##&&&&@@@&&####%####&##&&&@████@@█@##+++++*+#*+*#*--.........---------------------------------------------------
-.--...----------------------------+++**%%###########%%%%%%%%%**%%%%%**+*++-----+---..+-+-+#-+%.+%.-.+++.--. -..-**-*+%+++--.++*-+%+--+-.--.--.---..--+++%**---.-.... ...%@%######%#####&&&&&&&&###&@@@&&###&&&&&@@████@&&&&@@@@@@@&&&&&&&&#&&&@@@@@@@@@&@@@@@@@@&&###&&&&&&&&&&&&##%%%%###%%#####&#%%%%%%%##%%##############%%%%####&&&&&###&&&&&&&&##%#######&&&&#&##&&&&&@&###&&&@&@@@@&###%#%###&#&&&&@██████@&%**++*%%#*%%%+----.....-----------------------------------------------------
.-....-----------------..-------------+++*%%%######%%%%%%%%%****%%%#*++++*+-+-------..+----**-*++-+-.-... . .-+++-++-++----+-+++*+..-*+-.-----.-.....---+%+---....-------+@#*%##&&######&&&&&&&&&&#&#&@@@&####&&&&&&@████@@&@@&@&&&@@&&&&&&####&&&@@@&&&&&&@@@&&&#&#####&&&&&&&&&@&&&&#%%#############%%%%%%%###%%%%#####%#####%%%%##%%#&#&###&&&&&&&&#%#%%%#####&&&#&###&&&&&&&##&&&&@@@@@&&#%##%#####&&&&@@██████&%%***%%###%#*+-----..-------------------------------------------------------
.-.--.----------------..-----------------+*%%%########%%%%****%%%%#%++--.-++----.-------++--*-.----.-+.++..*--.-++++-+++++*-+-*%-.-*-.+..---.--.......-+***+++*+-+***+++++##%%%##&####&&&&&&&&&&&&&&&&&@@&&#####&&&&&@@████@&@@@@@@&&&&&&&&&&&####&&&@@@&&##########&&&######&&&&&&&&&&#########%%######%%%%%%%####%%%###%%##%%%%*%%#%%%##&#%%#&&&&&&&&#%#%%%#####&&&#&##&&&&&&&&##&&&&@@@@@&&&%##%###&&&#&&@█@@███@%***%#%&&##%*---------------------------------------------------------------
.--.-----+--+++-------..-----------------++*%%#############%%%%####%+-...++----..----+--.--+-#--*+ -..- .+++**+-.-+*+++--.*+++-..****+..---.........-*++*%++%*%*-+++++++*%+*%#&#&&#&######&&&&&&@&&&&&&&@@&###&#&&&&&@@@████@@@@@@@@@@@@@@&&&&&&&&&##&&&&&&######&&&#####%####&&&&&&&&&&&########%%%%####%%%%%%%%%##%%%####%%%%%%%**%%%%%%#&#%###&&#&&&&##%#%%####&&&#####&&&#&&&#%#&&&&@@@@@@&#%#%######&&&@@@@███@#%*%###@&&#%*---------------------------------------------------------------
..----------+++-+-----.------------------+++*%###&#####%%#########*-.-----+------.--------+-++#-+-..-..-. -+++***+-+++--++--...+--%+*+..--.......---*%+-+*%*#***+++++++++**+++@&####&&######&&&&&@&&&&&&@@@#####&&&&&&@@@@███@@@@&&&&@@@@@@@&&&&&&&#####&&&&&&&&&&&#%%%%#######&&#&&&&&&&&&&&##&&&&##%%%##%%%%%%%%%##%%%%#%%%**%%%%***%%%%%#&#%###&&#&&&&&###%%####&&#&#%%##&&#&##%%#&&&&&&&@@@&#%#%#%###&&&@@@@@███&#*%@&&@&@#**---------------------------------------------------------------
...-------+--++-+-------.--.--------------+++*%########&#########%-++---.-+-------------+---+.+%.-+.- -+--. -++*****+++--...-+*+++-..-*+.-..-+#%++++%#*+++-+****+++++-+***+*+.%@&#####&##&&##&&&&&&&&&&@@@@#%#######&&&@@@@████@@@&&@@██@@@&&&&&&#######%##&&######%%%%%%%######&&&&&&&&&&&@@@@&&&&&&&#%%%%%%%**%%*%%#%%%%%%%%**%%*****%%%*%&##%###&&&&&&&&&&#%####&&&&&#%###&####%%%#&&&&&&&@@@&##%%#####&@@&@@@@██@#%%@&&@&@#**---------------------------------------------------------------
...----------+++----------..-----------------+*%####&############*+--..--++-------------++-++..-.---.++--+++*.--........-++---%*%--+*.**-+--++**-**+*%*++*+*******++*++%*+--+++%#&&########&##&&&&&&&&&&@@@&#########&&&@@@@@@@@@@@@@&&@█@█@&&@@&&#######%#&@&############%######&&&&&&@&&&&&&@@@&&&&&&&#%%%%%%%*%%%%%%%%%%%%#%**%******%%%*###%###&&&&&&&&&&&#%%###&&&&##%########%%%#&&&&&&&@@@&#%%%#%##&&&&@@@@██@&##@@@@&@&**+--------------------------------------------------------------
...---------+++------------.-----------------+++*%#####&##&##&&&%+-----+--.-----++-------+-++.-.+-- -+.+--+--**+*+--+*+++-+++++---+-.-++*%+-+---%&++***+*#*+***+**++*%%**+-----. ..-*%##########&&&&&&&&@@@@##%%#####&&&&&@@@@@@@@@@&##%#@@█@##&@@@@&@@@@&%%#&@&###############&##&&&&&&&&&####&&&&&&&&&###%%%#############%*%%#%*%******%%%%#%%####&&&&&&&&&@&&####&&&&##%#########%%##&&#&&&&&@@&#%%###&&&&#&@@@@██@&&&@@@&&@%%++------------------------------------------------------------+
...-------------------.-----------------------+++*%%%#########&%*++--++--..-----+-+--+-++++++.----++-.-*++--.+*+-%+++*%+--+++-++-....-+****++-++****%+%******%**%****+--... ....-..+++%#%########&&&&&&&&@@@&%%#######&&&&&&@@@@@@@@@@@&%%@█@&@&#&@@&%%&&&#**%&&@&#&#######&#&&&&&####&####&######&&&&&&&&&&&&&###&&&##&&&&&#%%%#%%%**%***%%%#%%%#%#&&&&&&&@&&&&&###&&&&###%%######%%%%#&&&##&&&@@@##%%##&&&&##@&&@██@@&&@@@@&@#%*++-----------------------------------------------------------+
...------.----------.-.---.-.------------------+++*%%%%%#######+++-+---.--------...-..---+--.-----.+*+--++-+--++*%+++*+++.-+---. ..-.-**+*****+**-+****+**++++%*++-.. .------++++++*%+##%########&&&&&&&&@@&%%%%#######&&&&&@@@@@&&&@&&#%#@█@@@@%#@█&**%#&&**%#&&@@&&#######&&&&&&&&#########&#####&&@@@@&&&###%%%#####%##&&&&###%%%*%%***%%##*%%%%#&&#&&&&&@&&&&&##&&&&###%%####%%%%%%##&&&&&&&@@&#%%#&&#&&##&&&@█@█@&@@@█@@@&%%++++----------------------------------------------------------
...----------------..---------------------------++++***%%%%###+**+++---.------------+-------.----....-**-+-++--%*+-*+---.-++-....--.--+*+*#%+*%+**%%+--+**+++++-....-++++*+-*-+---+--.+*##%%#########&&&&&@@&%**%%#######&&&&@@&&@&&&####%*&██@&@@##&█&#*#@@@#%%%&@&&@@&#####&&&&&&&&&&#########&#&#&&&&&&&&@&&&&###%%####%##&&&&##%%%%%%***%##%**%%%#&&##&&#&@&&&&&##&&@&%##%%%%##%%%%%#####&&&&@&@&###&&#####&&#&@@██@@@@@@@@&##%++++---------------------------------------------------------
....---------------------------------------------+++++**%%%%%%--**--++.-.---------.....+--------..... .++*++--.---++-++--.. . .--.-.-.++---+++%%%%%*.+%&@*+-....+*+*+-++-+--*++--+-.--++-*##%#######&&&&&&@@&#%**%%%%%#&&&&&&&&&&&&&##%%%%*#@@@@@@#%&█@@%+#%&@&###&@&&&&##&&#&&#&&&&&&&&##########&&&&&&&&&&&&&&&&&&&#%#####&&&&@@&##%%%%%***%#%***%%%%&&######&@&&&&#&&&@&###%%%%#%%%%%%#####&&&&&&&&###&#######&&@@@█@@@@█@@@&#&#*+++++++-----------------------------------------------------
...----------------------.-----------------------++++++++***%*++-*-++------------.....-.---.++++..----...----+++++++-. ..++-......-*+-+%%**#&#--*#&&&-..-****%*%.-.+.+-*+..+*+.--+-.-+%&&%%######&&#&&&&&#%%%%%%%#####&&&&&#&&###%%%%%%%&@@@@@&#@@@@@#*%%##%#%#@@&&&&#&&&####&&&&&&&#########%%#####&&&&&&&&&&&&@&&&#&&&&&&&&&&&&#%%%****%##%***%%%%#&&&##&#&&&&&&#&&&@&##&##%%#%%%*%%#####&&&@@@&&##&#######&&@&@█@@@@@@@@@###%++++++++----------------------------------------------------
....--------------------------------+------------+++++++++++**--++-----.----.-.--..-----+..-.-*+.--------.................------...-.---**%#*%&&*++%&&@&&*-+++-.%*+*%+++-+**-++--+%*+--++.-%█*%#######&##&&&&#%*%%%%%##%##########%##%%***%*#&@@█@@&#@@@&&#%%*%##%%#@&&&&%&@&&&&###&&&&&&&&########%%%%###&&&&&######&&&&&&&&@&&&&&&&&##%%%*+*%##*****%%*%#####&###&&&##&&&@&%#####%%%%%%%%#####&&&@&&&&#########&&&&&██@@@@@@@@&###%++++++++-+----------------------------------------+--------
....----------------.-------------------------+--+++++++++++++------+-----+..--.-----.---..-+++---.------.------.....---..------..--.-----%%*#%++%&####&&**++++*++-.-+*-+*+**++-++++++++***#█#*###########&&&#*%%%%%%%%%%###########%%%%%***#&@@@@@@##@&@@#&&##%%%%*&@#&@&%&@@&&&#&#&###&&&&########%%%%%###&&&&&&&&###%#&&&&&&&&&@&&####%%%%**%##*****%%*%#####&&###&&&&&&@@&%%##%%%%%%%##%#####&&&&&&&&#########&&&&@█@@@@@@@@&&##%*+++++++++-------------------------------------+++++-------
...-------------------------.---------+----------++++++++++-++-----+-.---.--.-..--.--+....----..--.-+-+.----+-+-.------..--+--------.-+-..-+---%##%*%%#&#+%*-++-++-+**+++---.. ..-%&@%%%#########&&&#*%%%*%%%%%%######%######%%%%**#&@@@@@@#%@&@###+*%%****%█@&&&&#&@@&&&&&&&####&&&#####%##%%#%%%##&&&@@@@@&#%%*%##&&&&&&@@&&###%%%%**%##******%*%#%#&&&&&&&&&&&&&&@@#%%#%%%##%%%#%#####&&&&&&&###%##%##&&&#@@█@@@@@@@@&###%*++++++++-------------------------------------+++++-------
..-----------------------------------------------+++++++++++++-----+------.---..--.--+-..--+-..--+----------++-.-+-.-+-.--------------*+--..-+*%%++*%%%#%+%+*+-+*+++--. .. .-.------.....-%%%%%%%%%#####&&%*****%%%%%%%%%#%%%#####%%%%%**%&@@@@@&%*&@%*#&%++*#%***&█@&@###@@&&&&&&&######&&#####%%#####%%#&&@@@@@@@@&&#%%%######&&&&&###%%%***%##%*******%#&&&&&&&&&&&@@&&&@@&###%%%##%%%#%%%###&&&&&&###%##%##&&&#&@██@@@@@@@&###%*+++++++++---------------------------------+++++++--------
-------------------------------------------------++++++++++++++--+---++---------.....*-.--+.-..-------.-+-++-+..--.++-..-----+++----.--**+-**+**++****#%*+++**++.. ..---++-+*-++---+---+--**%%%%#%%%####&&%**********%%%%%%%#####%#%%%#**%&&@@@█&%%#@#@&&@&&@█%++*%@@@&##%&@@&###&&&&##%%%#&&####%%###&&#&&&&&&&@@@@@@@&&###&&###&&&&&###%%%***%##%%****%%%###########&&&&&&&@&##%%%%%#%%%%%%%##&&&&&&&##%#%%##&&##&&@@█@@@@█@@&###%++++++++++---------------------------------++++++--------
----------+++--------------------------------------++++-+++++-++-+-----...+++---.--.-+..--+--...-+----.--+++-.-+--++-..+---++++--....---+*++-.-+++***%%%*-*+--......---+------++++--+++--++*%&+*############&#****+********%%%%######%%%%%*+*#&@█&@&#%#@@@&&#&█@@%+++*@@@&##%#@@&####&&&&###%%%#&####%##%%########&&&&&@@@@@&&&#&&##&&&&&#####%%%%%####%%*%*%%%*%%#%######&&&&&&&@@&&###%%%#%%%%###&&&&&&&&#%%#%##&&##&&@@@@@@@█@&&&#%%*+++++++++---------------------------------++++++--------
---------++----+------------------------------------++-----++++-------..-..-+-----..-*-.---+-.------..--+++-.----+--..------...-.-.-+---...+- .-+**%%*%*+... .---+-+-++-.---------+-++++-+*#&#**%#####%#####&#*+************%%%######%%%***++%@@@&&@%*#&@@&%%#@@&%+++*@@&&@%%%&@&#####&&&&##%%%%#&####%%%%%#########&&&&&&&&&&&@&&&##&&&&&#####%%***%####%***%%%%*%%%######&&&&&&&@@&&&###%####%%###&&&&&&&&#%####&##&&&@&@@@@@@█@&@##%%**++++++++++-----+--------------------------------------
--------+++++----------------------------------------+-----+++++----------------------..--++..+----...+--++.---+*+-.-+--+--.-----+--.-+--..%+.. -**+*%+*+.-.-++-------------------+++++---+*&#-%%%####%%#####%*++++++++*****%%%#%%#%%%%%***++%@&@&&&%+#&#&&%+%@@&**++*@@&&@#%%#@@&%%#####&&&#%%*%###%######%%#####&&&&&&&&&&&&#&&&&&#&&&&&&#####%%****%####%**********%%%%%##&#&&&&&@@&&&&##%##%%%##&&&&&&&@&#%###&###&&&@&@@@@@█@@@##%%***+++++++++++++++++++++--------------------------------
----------------+-+----------------------------------------++++++-----....-+-----.---..-+-+*...---..-+--+-..-+++++..++-..---+*-+.-+--++-..-.-+. -++%%%*-++++*+------+++-+-------++-++-.--+*&#+%%%%####%#####%*+++++++++++***%%%%%%##%%%****+%█@@@&#%+#@#&#%+#@@&%%*+*&@@@&#&%*&@%%%######&&###%**%%%##########&&&&&&&&&&&&&&&####&##&&&&&&&#######%%***%%###%%%%####%%%%%%%%###&#&&&@@@@@&&#####%%%#&&&&&&&@&#%#&#####&&&@@@@@@█@@@#&%#***+++++++++++++++++++++--------------------------------
-------------+----------+++----------------------------------+*-------.....---+----...-++-**.-----.--+--..-+-+++--++-..---+--+-*++-+--++..-..-+.. -+***%+++*+-+-+++--+++-+--++----+--------*%+*%###%%#%%%#####%++++++++++***%%%%%%%%#%%%%%**+%&@&@#%#*&@#@&#*%&&&#%*+*&@@@@@&#%#@%%*%%###########%%%%%%#####&&&&&&&&&&&&&&&&&&&#######&&&&&&&&&##%%%%%%**%%#&&&#%%%%%##%%%%%%%#####&&&&@@@@@@&####%%%#&##&&&@&&#%##%####&&&@@@@@█@@&&&%#****++++++++++++++++++++++------------------------------
-------------++----++-++++++-------------------------------+-++--------. .-*-----....-++--+-..-.---+-+-...-+---.--+-.---+-+----++-+--++-..-...---..-+***+++++++++++-++-++++*+---.+-----++-+*#*+%######%%%##%##%+++++++++++****%%%%%%%%#%%*****%@&&%#%*#@&@@#*#&@@&%*+*&@█@#%%#%%@%%%*%#######%%%%#######&&&&&&&&&&&&&###&&&&&##########&&&&&&&&&###%%%%***%%#&&&&#%%%%##%%###%%%%##&&##&&@@@@@&&&&#####&##&&&&&###%%##%&@@&&@&&@██@@&##%*****++++++++++++++++++++++-----------------------------
---------------++--+++--+++-----------------------++------++++-------...---+++++-----+++--+-.....-..-...-+---..---.-+---.-.+---+-++--++-.--....--.. -+**++-+*+***+++-++*+*++----+++-.++-+++*#+*&&&#####%%####&%++++++++++*****%%%%%%%%#%%*%%*%%#@&%#**%&&&@%%%&@&&*++*&@&%*#@%%*&%****#%######%%%%%%%#####################&&&####%%#####&&&&&###&&###%%%%***%##&&&##%%**#%%%##%%%%##&&&##&&@@@@@@@&&&###&##&#&&###%%%%&@@@#%&@&@██@@&&#*%****++++++++++++++++++++++---------------+-------------
----------------+++++++-++++-----------------------++-----+--++-------.-+-++++++--++---++-+-.---.... ..-.-....--..-++-++-----+++*-. .+-..--.....+-...-+*-++***++++++---+-++++++-++---+++++++#*%&&&#####%%###&&%++++++++++++******%%%%%##%%%%%%%*#@&#%+*#&%&%%*&&&&*+**&&*%%%*%#*#%%*++*%%###%%##%%%%%%%%%%%%%%%%*%%%%%#######&##########&&&&&&&#######%%%%%%%%%##&###%%**%%%###%%%%#&#&@&&&&&&@@@@@@&&#######&&###%%%%@@@&*#█@@@█@&@&#%%%****++++++++++++++++++++++++---------+++++-------------
--+---------------+++++++++++-------------------++++++++++-------.------++%+++++--++++-+-++-++-.-...-----...--..-+-----+-++++-......-+-.----.--.-+-...+*+-++**+++++----++++++-+-----+--+++-*#%%&&&####%%####&#%*+++++++++++******%%%%##%#%%%*****%&&%+**#&#%%*&&&@#***#&%*%%%%%%%*%%*++%%*#&#%%#%%%%***********%*****%%#########%#&######&&&############%%%**%%%##&&&#######%###%%%%%##&&&&&&&&&&@@@@@&&##%###&&#%#%*#&&#%%&@@@@█@&@&#%%%*****+++++++++++++++++++++++----++-++++++++------------
------------------+-+++++++-----------------------++++++++----------+--.+##-+++++--+++---++-+---...----+-+--...++-++-.--+++-...--+-+++-.-------..-*-...+-+++++**+*++++*+**++-++++++-+++++-+%#%*&@&&&&#%%%#####%*+++++++++********%%%%%%###%*%***+*+%&**%%&@&**#&#&%%%*###%%##%%#%*%*+**%##%#&#%%#%%%%*****************%%###########&####%##&&#############%%%***%%%##&&&&&#########%%%###&@&&@@&#&&@@&@@&##%##&&#%#%*&&#*%&##&@@@█@&&#%%%%*****+++++++++++++++++++++++++++++++++++++------------
-----..----------+-----------------------------------++++-*------.-+++---*%.---++*++-----------..-----.-++-..++.*-++---+-....---+--+++------------+*...--++*+-*-++++++++++-++++++++--+**++-*#%*#@&&#&##%%%####%*+++++++++*******%%%%%%%%%#%%%***++*+*#%++*#&&*%&%@%%#*&%###%*%%%%%%*+*%*#&##&&#%%%%%%****%%%%%%*********%##%#######&&#####%##&####%%###%%###%%%%%%%%%%##%#############%%%######&&##&&@&&&###%#&&####&&#*%@#&&%@███@&#%%%%%******+++++++++++++++++++++++++++++++++++++-----------
------------------------------------------------+++++++++-+----+-.-++-...++.-.-----+--------.........---+-.----.+-----....---+-----+++--+---------.+*-..+++---+**++*+--++***+-+++*****++-++%%*+%@&#####%%%##&##*+++++++++********%%%%%%%%%%*%****+****%%+++*%**#&&#%#*#%%%%***##&&&**+**%#&&&#&#%%%%%%**%%%%####%**+++***%%%%#%%%###&&&&&&##########%%##%%%%%%%%%%%%%%%%%%#####&&&&&&&&###%%%%%%#&###&@&#&##%##&#%@@##%%#@&&&#&@██@@#%%%%%%*****+++++++++++++++++++++++++++++++++++++-----------
+----------------------------------------------+++--+++++-++---------....--.-.------++.-..-.......---.-+--+++-+--++-. ..-+---------+++--+--------...+*-+*..-.--+***+++*++*+++++-****+*++++***%*#@&##%%%%%%#####%++++++++++*******%%%*%%%%%%%**%****+*%***++++**%&@#*%*%%%%&&#%*#%***%%***%#&&&&&&#%%%%%%%%%#%######%*****%%%%%#%%%###&&&&&&&##%%##&&&&######%%%%%**%%%%%%%%%%%%%#####&#&&&##%%%%%%#&###&&&&#########%%%######%##@██@#%%%%%%*****+++++++++++++++++++++++++++++++++++++-----------
------------------------------------------------+--++++++-++--+----......-+-....-.-+--.----......----++-+++++---+-....------+-----+++--++---------... ..--...........---+++*++*+++--++++++++##*#@&###%#%%######%*++++++++++**********%%%%%%%%%%**%%++*****#*--*%%###*%%%**%*%&*#*+***%#%%%##&&@&&##%%%%%%##%#%%#####%%%%%%%%%%%%%%%###&##&&&&&#%%%%#&&&&&&&&###%%***********%%%%%%%#####&&&&&##%#%%#&&##&&&#####&#%#&####&&#&##&%#█@#%%%%%%%****++++++++++++++++++++++++++++++++++++++----------
-------------------------------------------------+-++++++---.++-.........-----.-.---- .-..........--+--+++++-+--....--------+-----+-+--+--------.......+.................+%#*-*+++--+--++-++*#%%&###########&&#%*++++++++++******+*****%%%%%%%*%*#%+++++**%%%+-+++*###%%*-*%%#%%***++*%%####%#&@&&#%******%%##%%%#####%%%%%%%%%%%%%%#%%#&#&&#&&##%**%%#############%*%%*******%%###%#%#%%%###&&&&##%%#&&&@&&#####%#%#&&&&&&&#%&&%#@@#%%%%%%%*****++++++++++++++++++++++--++++++++++++-----------
--------------------------------------------------+++++++---.---.........-..-+..---......-........----**+++-++-...--------+--+-+++-----+-----............-................+%*+++++-.------+*%##%########%%###&##%***++++++*************%%%****%**#*+**+++***%%+-++*+***%%+*%%%*%+*****%*%##&#%#&&&&#%******%%##%%%%####%%%%%%%%%%%%%##%%#&&&##&&&#%*%*%%##########&&######%%%%%*%%%####%%%**%####&&&&&#&&&@@&&&#%###*%@@&#&#%%#&%%&@#%%%%%%%******++++++++++++++++++------+----+++++++----------
---------------------------------------------------+++++--++++-.-.-........-------..----..--.....--.-+-++--+-...----------+--++++++-------....... . ...............-..+**++++-.---+--++*&&%#&&&&&###%####&&%*****+++++********+************##****+++-+****-+++**++*%%%****%*%******%%%#&#*%#&&&#%***%%**%###%%%####%%%#%%%%%%%%%%#%*%&&&###&&##%%*%%%%%%%###&&&&@@@@&&#####%%%%%%%###%%%%%%##&&&@@&&&&&&%%%#######&&#&#%%#**@&@#%%%%%%%******+++++++++++++++++-------------+++++-----------
-----------------------------------------------------+++--+-+-.----......----.+--...--.--...+-------+----++-..------.-----+++-++++--+*.............-+. ...............-..-..-+++--+--------*#@&%*&&&#########&&&#*****++++********************+%#******+++++++++*++++*++++*#%**%******+*%%%##&#%%##&&&%%%%%%%%%#&########%%###%%%%%%%%%%%**#&&###&&&#%%%%%%%%##&&&&&&&&&&&&&&&&#%%*****%%%#####&#%#%%%###%#%%##&##&&#%%&@&&#%&#%%&&@&%%%%%%%******+++++++++++++++------------------+------------
-------------------------------------------------------+-------+---...--.--.-..-.....-.--.---+-++.---*+--+-.-------------+++--+++++-------+-..++-...+*.................++++-.-+-+**+--...-.-+#%%%##&&########&&&#*****+++++***********+********#%********++++-+%***++++++--+*%**********%%%#########&&@&&&&&&&&&&&&&&&###%%%###%%%%%%%%%%***#&&###&&&&&#####&&&&&&&&&#&&&&&&##&&&&######*+++*%#%##**##&####&&&#&&&#&%%%%&&@#%#&#%#&&&#%%%%%%******+++++++++++++---------------------------------
---------------------------------------------------------.-+--+--+-..---.---.--...----. .-...-+-..+*-----..---+-++-----------+++++-------++--+---..--*-............--+*%%*%%*-.-++++------..**+-%##&&&&&&####&&&#%****+*++***********+++******%%**%*******++++%%*%**++---+-++*%**%++++*%%%%#########&&#&&####&&&&&&&&&&&###%%###%%%%%%%%%****%&&#%##&&&&&&&&&&##############&&####&&&&&&#%%***+#%*%%%&#&#&&&&&&&&#*&%%%%#&&####%%%&&&#%%%%%%*******++++++++++++---------------+-----------------
--------------------------------------------------------..-------+-.------+--....-+++-...--.-.-..--*+---...-+++-------------++++*-.---.-----------..-+..--. .-....%%****%%*%%%+-++---------.-*+-*%&&&&&&&###&&&&&%****+***++********+*****+++%#%**********++-*%**%%*+++++-----+**#%#%*+***%##########&&#&&&&&&#&&&&&&&&&&&&######%%%%%%%%%**%*#&&&###&&&&&&#####&&&&&#########&#&####&&&####%%#***%%%&&##&&&#&&%%%%%%%##%&&#&####%#@@&%%%%%%******+++++++++++++---------+++++++-----------------
-------------------------------------------------------..-+---.-+-.--...--+-.-..-.---+*+-++..-..++-+++-.---++--.---++++----++**+---..-----+-------.-+-...-. .----*#%%***%%%%%%%+++-----------+--+#&&&&&&&&###&&&&#****+++++****************+*%%************++%%**%%**+++----++-++*#%%**%***%########%#&&###&&&&&&&&&&&&&&&&&######%#%%%%%%%**%*#&&&&###%#######&&&&##&&#####&&&&&&&&&#&&##%*%#*****%%%&&&&#%%%%*#&*+*%*%%&&%&#&&&##&&&#%%%%%******++++++++++++--------++++++++++----------------
-------------------------------------------------------..-----.---.-------*....-.---++++---.+-.+-*--+-..+++-+-.----------++-**--.--.-----+++-----.-+.--+-.-...-.+####%***%%%%*%*++--------+++-.-*##&&&&&&&&#&&&&&#%****++++*****************%*++********+**+*&*****%**+++-+****+++*%#%+*%***%#####%%%%#&&#%%%%%%#%%##&&&&&&&&&####%##%%%%%%%**%%#&&##&######&&#&####%%%%######&&&&@&&&&&&&&##***%%%*+%####%%%%%#%%%%%#*%%&##&&###%***%#%%%%%*******+++++++++++--------+++++++++-----------------
--------------------------------------+---+-+--------------..-.--.--------#-.. ...-++-+--++--.-+-----..-+-+-+-++--+--++---+++-..--------++++---+-.-+---++.-....-.%#%#%**%%%%%%*%++---+---++*---+&&&&&&&&&&&##&&&&&%*****++++*************+*%%++**+***%***+++##*%******+++-%*++++++++**%**+***%##&##%%%%%&&#%%%%%%##%####&###&&&###%%%#%%%%%%%***%#&&&&&&&&&&#&&&&@@&&&&########&&&&&&&&&&&&&%#**#%***#%%%#%%%%%%%%#%#%%#%%#&&&#&&#&&##&#%%%%*******++++++++++++-+----+++++++++------------------
---------------------------------------+--+++-++-----------....-----------*+......+---+*-+*-.--**-+-.----+-+++-+-----+*+--*+------.----+++++--+++-*+..-+-++---..%%%%%%%%%%%%%%%%*---+---+++*+++%&&&&&@@@@&&&#&&&&&%+****++***********************+******+*-%#*%%*****+++-*%**+++++++++**+*+***%#####%%%*%#&&#######%%##########&###%%%#%%#%%%%*%%#&&#&&&&&&&&&&#####&&&&&&&&#####&&###&&&##&&#%%%%*+%#%%%%%%%%##&###%%#%%***%**%&&&#&##&%%%%*******++++++++++++++----++++++++-------------------
---------------------------------+++++++++++++++-----------...----.------.*-.-...---...++++.-+.-*--.---++--+++++-----+*-++---.-.---.---++**++++*++%+-.-+--+---+%####%%#%%%%#%%%%*-++++--++++--*##&&&&&&&@@&&&&#&&&#**********************%*+*+++****%***++*#**%*****+++-+%****++++++++**++*****%######%%**%###%%******%%############%%%%%%#%##%%%%%######&&&&#%*****%####&&&#&###%###%#&&&&####%**%*+%%*%##**%%&&%%%%%%%%#&###%**##%#%%&#%%%*******+++++++++++++-----+++++++--------------------
---------------------------+++++++++++++++++++++++---------+-......-----..++-*..+++- .-++++.-*-+--.-+-----++++++++--+++++*+-.......---++********+****+--+-+*%%######&#%%#%%###%**+%%++---++%+-%&&&&@##@@&&@&&&&&&&#******++*************%*+*************++#%*%%******++-*%*%*++**+*+++++*+***+**%########%*%***********%%%%%#%%######%%%%%########%########%%******+++*%#########%%###%#&&#####%**%%#%##%%%%##%&#%#&&@&&&&@@&&&#%**######%%%*******++++++++++++++----+-+-+----------------------
----------------------------++++-+++++++++++++-++++---+-.-+-. ...--.-----.+*-*----+*.----++--++-+..--++.-+-+*++++++--++++----.......--++*****%*++*-++%#+++**####%##&##%%#%%%%%%%**%+++--+*%*++#&&&&&%&@██@&&@&#&&&##%****+++++*****++*%%*+************+++#%**%**%%***+++%**%*++*+++++++++*++*****%###%%###%%%%%%**%*+**%%%%%%%%#######%%%%#%######%%%%%%%%%%%%%%%%%%%*++*%%%%#####%%%##%##&##%##*%%*#%%%******%###&&&@@@@@@@@@@@&&%*%%##&%%%%*****+++++++++-+-++--------------------------------
---------------------------+++++++++++++++**+++++++++**--............----.+%++--..-+---+++--+----+-+---+-++++++++*+++++++---....-+**%+***+*%%%+-*%----+%%++%&####&&####%#%%%%%%%**+-----+**%*+#####%%&#@██@&#&&&&&&#%*++++++++++++**%#%***%**********+++*#**%%******++-**+***+++++++++++++++**%***%###%%%%%%%%%%%%%%+***%%%%%%%#####&####%#%%######%%%%%%%%%%%%%%%%%%%%%**%%%%%%%#%**%%%%%%&##%###*%%***%%%#&&&&&&&&&&@@@@@@@@@@&@@#%%%##%%%%*****+++++++++---+---------------------------------
----------------------------+++++++++++++++**+++++****+--....----...-----.-%------...-+--..-*+.--+-**+--+-++++++++++++**+------+%%%%++****%#%+-+%*++**+-+*+*############%%#%%%%%**++-+--+*##*+#####%###&█@@█@#%#&@@&**%*++++++++**%#%****************++*%***%*****+++-+*+****+++++++++++++++*******%%###%%%%%%#%%%%%******%%%%%%####&######&%%##&#########%%#%%%##%**%%#%%%%%**%%%#%%%%%%**####%%%%%#%%%##&&#&&&&&@&&&&&&@&&@@@@@@@█&###%%%%%%****++++++++----+---------------------------------
---------------------------+++++***++***+*+*%*******++++--..-..----.-------++.+---..-+--..---------+*+*-++++++++++-++++++-..-+%%%#%--++**%#%+-*++.--+%%%+-**#&&#&###&&&&##%##%#%*%**+--+++*+--%###%%####@█@@@@&%#&@@*++%%%%*%%%%%%**+***%**********+++*#**%***%***++--**+*****+++++++-+**********+**%%%%%%%%**%#%%**%***+**%%%%%##%#&#######&#%%###%%%%%%%%%***%%%##%**%%%***%**%%%#%**%%**%#&&###%#####&&&&&&&&&&&&&&&&&&&&&&@@@@@@@&@@#%%%%%***++++++++---------------------------------------
---------------------------+++++****%*******%*%%***++*+--+------------------+-.+--+--....+*+.*+-----*+--+++--++++-+++++----.-%%%#%--++++*%%*+*+...---+%##+.*&&&&&&&&&#&&&#%##%%%%**%-+*++++*+.*###%#####@███@@██@##@#++++*%%%%%*++++**************+++*#*+*%**%%%+*++++%+*****+++++++++*%**%%**********%%%%%*%**%###%%%*%***%%%%%#%*%########&&####%%%%%%%%%%%****%%%%%%%%%%%%%%*%%%%%***%#**%#&&######&&&&&&&&&&&&&&#&&&&&####&@@@@@@@&&@&%%%%****++++++++++------------------------------------
-----------.---------------++++++****%%**%*%*********%%---....-..-------.--.++..---..-...---+.-...-.+*-*+*---+++++++++------*%%#%--+++******%*.---++*%*%%#*+#&##&&&&#&&&###%%#%#%**%%*++++**-.*##%##&&##&███@@@@███##++++++++++++*****************++*#*+*****%**+*%-+%**%%%****+++*++************%%%****%****%**%######%***%%*%%##%%%#%############%%%%%%%%%%%%%%%%%%%#%%%####%%*%#%%%***%#%%%%##&&&&&&&&&@&#&&@@@@@&&&&&&&##&&&@@@@@@@&&█#%%%****+++++++++------+------------------------------
--.-----.--..----------------++++***************%%%%%%%------....-----..----++-+--.---..-+-+++---+--.**+-*-+--+++++++-+----%%%#%+--++***%**##-...----*%####+%&&&#&&#&&&#%##%%#%#%*%*+++++*%*++%#%###&#%##@███@@@███&%*+++*+++***+***********+++**++*%*+******%****@++*+*%%%%%*+++****%%*%%%*******%%*****%%%*****%%%%####%%%%%%%%#%%%##%%%%%%%####%%%%%%%%%%***%%%##%%*%%%%#####%%%%%%%****##%%###&&&&#&&&&&&&&&@@&@@&@@@@@&&&&&@@@@@@@@&@@#%%%****++++++++++-+---------------------------------
---.-.--......--------+--------++++***%%%%%%%%%%%%%%*%%+..------.-----..---..*---.- .+.+--------*+-+--++++--++++++**+-----%%%#%+++-+++*%%###+.-++****++++%%%%&&#&&##&##%##%%%%%#%***---++*&*--%*%#%#&&&#%&█&&@@@@██@%%++++*++++**-+**+*+***+++++++*%*+*******%*+*%#&**++***%%%*++**%%%%%%%%%%%%%%**********%******%%%%%#####%%##%%##%###%#########%%%%%%**%%%*%%%%%%##%%#########%%%%%%%%***%####&&&&###&&&&&&&&&&&&&&&&&&&&&&&&&&&@@@@@@@@@#%%****++++++++++++---------------------------------
--.............------------------+***+***%%%%%%%%%%%%%%*.---.-+..--.-----....++++.. +--+.--+--+*+.+++++-++-+++-+++**++---*%*%#+++-++++%*%#*+----+*****%*+-+%#&&####&##%%#####%%%%**------%%+-+*%##%##&&#%#@@&&█&@█@@%#*+++++++++**-+**++***++++++*%++********#%***#&#%%%%*++*%#%**%%##%%%*%%%%**%**++++***+*******%%%**%#%#########&####&&&&####%%%%%%%%%%%****%%%%%*%####&&@&&####%%%%%####%###&#&###%%%%###########&&#&&&&&##&&&@&&@@@@@@@@#%%****+++++++++-----------------------------------
-................-----------------+++*****%******%%%%%%*.----+-.-+-------.--.-+-----*.**--.-+++-.-++--+++-++-----+++---.+%*%&*+---+++*##&*.---+++*%%%***%+-+#&######%##########%%%*----++#*+**#@&&##&###%&&&&@@██@█@###++++++++++**-++++++++++++%%++++*%****+%#%#&###&#&&&#**+%##%%#####%%%%%%*****++++++*++*+****%%%****%%%########&###&&&&##%%%%%%*%**%%%%*********%%#&&@@&&&&&###%%%%%%########&###%%%%%%%#########&&#######&&@&&&&@@@@@&@&#%%%***++++++++-----------------------------------
..................------------------+++++***%***********-------++-----.....--.-+.--++.-+-.--++...-+++++++---------+++---**%&*----+***####%.---...--++%%***+-*&##############&&#%%#*-++-+*#*-+*#@&###&#&&###@&%#@█@█@&@&%+++++++-++**++++++++++%%*++**+******++%*%#&&##&&@&&&&#%####%%%%##%%#%%%%****++++++*++******%%%%***%%%%%#############%%%####%%%%**%%%%%%%%%%###&&&&&####&&&####%%%%%%%%%###&###%%%%%%%%%######&###########&&&&#&@@@@@&&#%%%%***++++++++--+-------------------------------
...................--.-------------++++++++++*++++-+++++-.----++-----.--...--.+--.-+---.-----..--+++--++----++-+--++--.+%%#%++-++++*&&###*.-...-+++---+++*%-*&####&#%####&&&&&&#%#*-++-+*#*--*%#&@&&%#@&#%#&█@%*@███#&##%++++--+++++*******%%%%*++*********++++##%*%&###&&&&&&########%%#%%##%%%%%******************%%%#%##&&&&&&&&##%%%%%%%##%#%%%******%%%%%#####&&&&&##%%%%%%%#######%%%##%%######%%%****%**%%####&########&&###&&##&&&&&@&&#%%%****+++++++--+-------------------------------
.......................--------++---++++++++--+----++--++.--+++-+----.-..--...-+.-..-----... -+-+-+-++++.-++*+++-+++++-**%*+++-++**#&####-.--+++**%%%%+-+**++######%#&&&&#&&&&&&##*+-*%+%%*.+**#&#&&&#&#%%%%@@@&%#@@&#@#%#*+--+++***++**%%%%**+++****+****++++*%%%**#&#####&&&&#&&&##&&&&#%%##%%%****%%%%%***+**++***%%%#######%%#####%%%%%%#%%%%%%%*%%%#&&&&&&#&&&&&&##%%%%##%%**%####%%%*%%#%%######%%**++**+***%%#####%%%%#&&####&##&&&##&&#&&%%%****+++++++---------------------------------
.......................--------------+++++++++++++++---+-.--+--------..---.....+-.------....-++-+*--+++--++++-----++-++*%*+----+*%#&#####--++-----++%%#%+*++%&#####&&&##&&&&&&###%**-++%%+--*+*%&@@&@###%%%%&█@@@#%#@&&&&#&+-++**++++-+++++++***++******++*++**+*%%**%#####&&&&&&&&&##&&&@@#%#&%%%%%%%%****+++++*++**%%%*%%***%%%%%%####%%*%%%%%%#%*##&@&&&&&&&&&&&&&#&#####%#%%%**%####%%%**%%%#######%%**++**++****%**%%%%**%#%###&##&&######&@#%%%****++++++---------------------------------
.......................---------------+++++++++++-------------+------...-.......*-.----..--.-+++*+--.--.+++++--------+*%+-++-++*#&######*.-++.--++++-+*%%+*+#&#&&#&&#&&&&&&&#####%+++-*%+*++***#&&█@&&#%#%%%#@@@@@@#%#&&&█@+++*+++++++++++++**+***+++++++-+%%***%%%%%%%####&&&&&&&@@&@&&&&&@&#&#%%%%%%**+++++++++++***%%%%%%%*****%%%#%%%%%%%%%%%###&&&###################%%%%%%*%**%#%%%%%%%%%%##&#####%%%*+-+%++++++**%%%#%%%%*%%#&#%&&####%#&@@#%%%***++++++---------------------------------
--......................------------++++*****+++-----------------------........--+---...--+-..----+--+.-+++*---+-++-.+%*-----**#&#####%+.-++-+++++****--*%+-#&&&#&&&&&&&&&########++-+***&%+**%#&&@█&&%###%*%@@@@&@█@&##&█&*+++++++++++++++-+******+++++++%#%+**%#&&&&###%%%#######&@&@&&&&&&&#&#%%%%%******++++++********%%%%%%****%%%%%%%%%%%%%##&&&####%*%%%%%%%%%%%%**%*******%*+*%%#%%%%####&&&&###%%***+-*#++-+**%#%###%%*+**%%%%#####%%&&&@&%%%%**+++++++--------------------------------
..--....................----------------++++****+++++++++------------------...---+-..---*..++--.-+-.-.--++++-+---+*++*+-----%########%++*+----....--+*%*.+%*#&###&&&#&&&#&&######%+++*++%&*+%*####&&&%%#&#%%%&&@█@@@@█@%&@&**+++++++++++++++++*****+++****%#&%+++%%##&&#%%%%%%%%%%###&&&&##&&&##&%%#%**+++++*+++++*+***********%*****%%%***%%########%###%%%%***%%%%%%%%%%%%%********+*%*%%%####&#&&&###%%%%%*+-*%%*+-+**%%%%%%#*+****%%###%*%#&&@@#%%%**+++++++--------------------------------
...-....................-----------------++***+*****++++--------.---..---+--....-++---#++.-.-..+--+-----++-+-+--++***+----+*%########*%%*%%*+--+++*%##%&%.*%%###&&&##&&&&&&&###%%*+*++-.+#+*%%##%%&&%%%##&&#%#@&@@█@@@@%#@#**+++++++++++++++++++*****%%***+*#&&#++*#%%###%%###%%##############&#@&##***%******++++**+*****%*********%*%%**%%##########%%%%##%%%%%%%%%%%%%%%*%%%***++++++***%%###&&&#####%**%#%%+--*%%*+-+******%*+*+***%%#%*%#&&&@@#%%%***++++++--------------------------------
.........................--------------++++++++++****++*+-------.--..-----+---.--.-*--+++-+--+++---..--+--------++**-----+*%%###&###%%##%%#&%***********&%.**#&&&##&&&&&&&&###%%%+*+--++**+*%%##%%%%#&%#%#&#%#@&#&@@@█@%*@#*+++++*++++*+++++++++++++++*++++*%&@@&#%###&#############%%%%%%##%##&&@@#%#%%#%%%%%%*%%%%%%%%%%%%*******+***%##########%#%%%###%%********%%%%#####%%%*********%###############%**#%%%*+-+*&#+--++-+***++++***%%+*%&&&#@@#%%%***++++++--------------------------------
-...--...................--.------------++++++++++++++++---.----.-----+-----------.*+..+-.--++..-..----+--+-----+*++-----+####&######%#%-+*+++++++++++++*#+-#&&##&&&###&&####%%%%+-+-++-*+-*%%#%##%&&%#%&%%%%%&&@@&@@#@&*##*++++***++*++++++++++++++++*++++**#&@@@@&&&#&&&#%%%%%%%%%******%##%#&&&@&%###%%%%%##%%#%%######%%%%****%*****%%########%%%%%%%%%%*****%%%%%%**%%#####%%%*%****%%%##############%%%%%%%*+-+#&&*+++--+++----+***+*%###&&@@#%%%***+++++++-------------------------------
--...-...................--.-----------++++++**+++++++++----------.------.----+--..-+.-...--..+....---++-++-----+*++-----%##%#&######%%--+------+++++++++*%+###&&&###&&&&&#%%%%%+..--+--+++%%%###%%@@###%&##%%%@@&&@@@&&@%#*++++***+*++-+++++++++++++++++++-+%&@@@&&&#&&##%%%%%******+++++*%#%###&&&&###%%%%%***++++******************+*****%**%%%%%#%%%%%%%%%*%%%***+****+***%%%%%%***%%################%%%%##%%*%+-*%#&&&&%----++--++++*%##&&&@@@#%%%%**+++++++-------------------------------
.........................---.----------++++*****+++++++-----------.--------+..--.---+*..--..-....---.---++++----**+----+%###%&&#####%%+++-----------+++++-*#&&&&&#&&&&&##%%*%%%+.--.+-.-+-**%%##%*%&&&&#%%&#%##&█@@@@@&#&#**+++*******++++*****+++++++++++--+%#&@&&&&&&&##%%*+++****++---++*%%%#%#&&###%%%#%%%%%%********++*******+***+++++********%%%%%%%%%**********%%###%*****%%%%%%####%%%##&#########%%*##%%%%%--+**%%%#%+----++***%%###&@@&&@#%%%%***++++++-------------------------------
..............-.--.-...-..--.-------------+++******+++++---.------.-------.......----+*-..-. .----------+++---+*+-+--.+&####&######%%%#%+-+-..---------+++%&&&&&&&&#%%%***%#%+---.+%---++%%**%%*%*#&####%&##&#%@███@█@&&&#*%*++***%%***+*******++++++++*+++*##&&###########%*+*****++-----++%%%%%#&&#%%%%%%%*******%%%%%**++++**++++++++++++++++++*****%*++++++++*%%%#%%%%##%%****%%%%%%%**%%###&&#######%%%%#%##%%*++*++++-+*+++--+%%#%%##&&@@@@@&%%%%***++++++-------------------------------
...-............------....--------------+++++********+++---------.-------...-...-...-.+*.. .---------.-++++--+++++---+#&##%#&#####%%%#%%%**%*-......----+++%&&&&&##**%*+**%%*++-..++----+*%**%****%&@&%#%%&&#%#@███████@&#%%#*+*%%%%***+*******+*+++++-++++%&&######%%%##%%*+***+++++-------*%%%%%#&&@#%%%%***+++++**********++**+++-----+++***+++******+++*+++*%%%%%*****%%%%%***%%%%%%%%%%%###&##########%%###%%%%%%%%%*+-----++*++*%%%%%%#&@@@@@&#%%%***++++++------------------------------
.................----+-.-----------------++++++**********+------.------------....-.--..-+ .---.--------+--+--+-+++-.+*#&&#%%######%%*+**++**%%%*****+-----++*%+#&#%***++**%%*+----+++-..-+++*%***+*%&&@&%#&@@###&@███████&&#&@***%&#%%***********++++++++**+%####%#%%%%%%***+++---+----------+*%%%*#&&@%%%******++++++++**++*%**+**+++++-+*****%**++++++++*****%%%%***********%%****%%%%%%***%%%#######%%#&&%*##&&##%%****%*++++*++*+*%########@@@@@@@&%%%***+++++------------------------------
.....................---------------------+++++**********+-----...----..----..--..-.-...-*+---.--------+--+----*+----*##&#%%###%###%+++*+---+++**%%#%%%%%*-++*+*#********%##*-----+++---*+*%*%***+%%&#&@&██&&#%##█@@██@@@@@@@█*+%@██#%**%*******+++++--++*#*%###%##%%%%%**+-------------------+%%%*%&#&%%********++*+---++*++++*******%*************+++++****%%%%%**+++***+++++*******%%%**%%%%%%##%%#####&&#%%%%#######%*+-+%%*%%%*++**%#%&&&&&@@@@@@@&%*****+++++-----------------------------
..-...........-.....--...------------------+++******%%%%%%-----....---...--..--.-........-*-.---.-+-------+----++---+*##&#%%#######*-----------+++******%&%-++-+*%***%%%%%%*+----+++---*%++***%%+***%%##@█@█@###&@██@██@@@&&@@##█████#*********++++++++---%#%##&##%%%**+++------++++----------+*%%**&@&%%****%***+-+++++++++*+++++++*********%*****%%%%%%%*****%%**%%%%***+++++-++****%%%%###%%%%%%%###&&##&##%*****%***%*+*%%%*%##&&&&###%%###&&&@@@@@@@#%***++++++----------------------------
......................-----------------------++++**%%*%%%#*-+---......-.--..-.--......-....++----.-----++++++-++--.-*%##&##%#######+------.---+++-++----+*&+---%**%***%%%**%*-+**%+----%*++**+%++%***%#&@@█&#@&&#@██@████@&@@████████@%*****++++++++++++--*&##%%#%%%*+++------++**+---------.--+*%++&█&#*********+---++++++++***++++++++++%%%%%%%%%%%%%%%***%****%%%#######%%**++++*%%%%%%##%%%***%%##&&&&#%%###%********+*#%##&&##&@@@&&&&##%%%#&&&&@@@@█&%***+++++----------------------------
....-...............--------------------------++++**%******+----...---.----..-...-..........-+-.+--.----++++++*-..-*%###&##%#%####*---+++++--++++++------+**--+%**%%%*****%%+++--%++-+%%%*+****+%%%*%%%@@██@@@&&&@@@██████@@@@&@@███@@#+****+++++++++++++-+#&####%%**++++----++++-------**---++++**#@##@%***+*%***++++++++++++++**+++***+***%%%%%%*******%%%***%%####%%******%%***%%##%%%%%%%%%*****%%%#&#######%##+-+++**#%#&###&&@@@@@#&&&&@&#%#&&&&&&&@@&%***+++++---------------------------
.....-...............------------------------+++************-......--....-..--...-............+----+*-++--++**+-..+%%%##&##%#%###%+---*%*++++-----++++----+*--+#**%%%******%+--.-+*-+%%%#***%%+**%**###@@██@@@███@@█████@@&&&&&@█@██@@@%****++-+++++++-++--*#&##%%*****++--++---+----++****-+*+-%**##%&#%%%***%%%%%%%*%%****+++--++********%%%*%***%%***%%****%%%%%%%*******+++**%%%*****%%*+*********%%%####%%%#%+---+*%####%%%#&@&&&&&#&&#&&&&&#&@&&##&&&@&%***+++++--------------------------
.......-..............-----------------------++++++++***+***-.--..-.........-+..-........-......-++++++--+**%*--.+%%%%##&###%####++--*#%#%***%*++------++++%--+%&%%%%%**%%%%+----*++%%*%#*+*%+*%%**%&%%@@█@@@&@█████@&&*#█&#&&@█&#%&█@@#**++++++++++-+++++-+###%%****++++++++-.-+---++***%*+*+++&&%%****%%%%%%%#####%%%%%**++++++++++++*+*%%%*%**%%%***%%****%*****%%%%%%%%%**%%%%******************+****##%%%*%+++****%%###%%%&@@#%**%%%%###&&&&&&&&&&#&&&&█&****+++++-------------------------
......................----.-----------------+++++---++++****+.-*--...--.....--....------..--......+*----+++**----**%%#%####%%##&*+--+**********%%%%*+--.-++#+.++&%%***%%%%%**--++%+*%*%##%+**%%%**%*#*#@@@@@██@@@@██@#%@█@##&@&%%&#*@@@#+*++++**++++-+++++++%##%%%%***++++*++-+-+++--+**%#*+++-*&##%++++%%*****%%%%%%%**+*+***+++++-++++*%%%*%%%%%%%%%%**********************%%%%*++*****%******++++++++*%*****++*%%*%%%%%#%%#&#%+*%#%%###&&#&@@@@&&&&@@@@@&@@#%***+++++------------------------
.......................----------------.---+---++----++++*+++-.-.-..---.....-..-.--.--------....-..+*++++++%+--.+**#%#%####%%%##*+--+++----+++++*+***%%%+-+**.--*#%%%%%%#%**+-+-+++%*%%###****%*+***%%@█@@@@@@@&&&@@@@##@#*#&#*#&@█%%@@%++++**+*++++++++++++*##%%%%*****+++*-+*+**+++**+%**+---*#*%%%**+*%+++++*%%%%%***++++++-++++---+***%**%*%%%#%%*********%*************%%***++*****%%**++*+++++*+++*++++*++%****%**%%%%&##*+%##@@#%##&&&@@@@@@##&&@@@@@@@@%%***+++++-----------------------
........................--..----------------------+++++++++++---.--..-.....-..--------....---------.+%%*++%*--.-**%%%######%%%#*+-+--..---.----+++++++*%#++**----#########%#+++++-+%%%%%##%+*+**+***%#███@@@@&%%##&@@@&#%**##*%&&@█&%#&%+****++**++++++++++*%%####%***%*+-+*++*++++++**+%*+-+-*%%+%**#*+**+++++**%%%%%%%%%*****++++-+****%%***%%%%%*+++*++**%%%%%**********%%***+*++****%**+++++++*++++++++++*-**+****+%#%#&##%*#&#&@@&##%#@&@@@&#&&&##&&@@@@@@&%***+++++-----------------------
........................--------------------------++++++++++++-..-----...--.....-----.-----.---.-+-----*%%%+-.--%+%%%%%#####%#%+++---.-++---------------*+-**+*+%#%%#%%%%**%+---+.%%%%%%##*****+****#&@█@@██@&**%###%%##&%*%**#@@@█@&%&%+***++***+++---+++*%%%%##%%***%+-**-+-*%+-+++***%*+++++%**%**%#%+%++++++++********%***++*++**********%%**++****++**%%%**++--+++*++*%******++**+**+++++++++*++++++++++++********%*%#&#%+*&####&&##%#&@&@&#%#&&%#&&@@@@&@█@#***++++-----------------------
.........................------------------------++++++++++++++...++.---..-..-.---.-------.-.-...-------+++--.-**+%%%%%#####%#*++--+.-+***+-.----++++----*-++%#######%%***%%+.-+++#%@&&##******+***%@@%&███@&#%**%***+%##*+*+#&&@@█&@*#*****+***++++++++++*%%%%%%%%*+*%-+*+++-*#*---+*-+**+-..*+.+*--**%%%%***+++++**++++++**+**************%*+++**+++****%*************++%%***+++++++*++++++++++++++++++++-+-+*+*+**%%%*###%+-%######&##%##&&@&&%%&&&##@@@@█&&@██#**++++-----------------------
..........................---.---------------------+++++***+++*+..-+.-....-.-----...-------------.-----.-++----%*#%%%%%#####%%+---++--+*%*++--...---+-+--*+-+####%%%%%%##%%#++*#*%%#@@@@&&#%*&**++*#@█@*#██@&%%+***%*+***++*###@@█@@@%%*******+++++++++++*%%%***%%**+*%+*++*+--*%-.-**-**++--*+--*+-..+-*%%%****+**+%*+++++***%%**********%**+++**+++***%%***%%%%%*%%%%%%*%**++++***+++++++*+++++++----++---+++++++**%%%##%%*++%#########%%%#&&##%*#&&#&@@@@@@#&@@@%*+++++----------------------
.........................-.-----------------------+++++*********-.----.--...-----...-----.---.-+--.....-++----++*&#%#%%#####%%+---+--++**+++++++----..---+%+%##%%*****%%%%%%++%*%%%&@&&@███@%+&&%+%&@@@@+&█@%%%*+***+-*----+%##@@█@&&&*********+*+++++++***%%%*%%***+***+++----+**-+%-+*+++*%++-+*--...--%%*************************+++****+++++*+**%**%%%%%%%%##%%%%%****++++*********+++**+++-+-----+++---+++-+++*%*%###%*+++*%%##%%%#%***#@@##%+*#&&&#&&@@@&&@@@%**+++++---------------------
............................------------------------+++********%*---..--++-...--...---------------....----------+&&%%%%#####%*-..+-------.------++*%*-..--*%#%%****%%%%%%%%%+**+%%*&@@@@@█@&&%#%&##@██@█&+@█%**++++++-+-----%@&@&█@&##*+********++++*++*+**%#**%%**++%%*++---+-+-+*%*-++-+**-+*.+--...-.+%****%********%%%%%*************++++++******%%%%%#%%%###%#%**+**+++************%%%*++++++++++++++--+--++*****##%%*+-++*+*##%#%%%*++%&@##%++%#&&&&&&@&&@@@@#**+++++---------------------
............................---------------------++--+++******%%%*..+------...---..----------------..-..+----+---%%%%%%#####*+-.--.-----++------++++*%+.-++%#%%***%%%**%%##%+*+*%%&@@@@@@@&&%#%*##&@@@@#&&*&**+++++++++-----*&@&@██@@%++****++++++**++++***%%*%%**+*%**+-+++++++-+#*++*+-**++*+-+.....*-*%%%%%%%%%*+**+****************++++++++*****%%%%%%%*%***%*******++***********%%%%%*+++++++++++++---++++****+*%#%%*--+++%**%##%*%%**+%#&&#%+-*#&&#&&&@&&@@@█#%*+++++---------------------
............................----------++-------+++--+++++*****%%%%- ---.-.....-...--------..---.---....-+.--++-.--#%%%%##%-.----......----.------+-+++%-.+-*%**%**%%%*%%###*-*+*%##&@██@@&&#&%#-*#@@@@█@@█&%%++-+++++++-----+&&&@&@@@******+++++++++++*+**%%**%%***%*++++++++++***%+*+*--**-+*-++-...+%*%#%%%%%%%**%*******%%%%*******+++++--++****%%*%%%****++*++++**********%****%#%%%***+++++++++++++-++++****++*%%***+-++-*%%*%##%*%%%*+%###&&%-+#&##@&&&&@@@@@&%*+++++---------------------
.............................----------+++-------------+++**%%%%%%%+-..----.......--------.............*+--++-.---**+%%#+ ----......-..........--++--*#--+%%*%******%###%%*+-*&%*+*+*&@&@&@&##%-#@█@@##&@&%*++++++++++-++--*&#&&&@&#+*%***+++++*++++*+++**%*#**%*******++++*****+***+*.-*+++++***---++%%%****%%%%%%#%%%%%%%%%*%%***+++++----++***%*%%%%***********++*++****%%%**%%%**%%**+-+*+**************%**+*%%**++--+*+++%%*%%##%%%%%%-+%%##&*-*%##&@@&&&&@@@&%*+++++---------------------
............................-.---------++--------------++++***%%%%###+---------------.-.....-----...-.-+---+------++-*##. +---...................------*%+%%*%%***%%%###%*#*+.%@&@█@&%*#%@&@&##%%#@█@&@#%#*+*-+++-++++---+--*####&&&%*+*%**+++++++++++++**%*%%+%**%%%%%**++****+-******.+*+-++%*+%*++*%##**%%%%%%**%%%#%%%***%%*****+++--..-++*%*%**%%%*+*%*******++*++*%%%%****%*+*****+++++***********++*******%%**++--++++*+*%***%##%*%%#%*+*%%&#--+*+*%#@@&&&@@@%**+++----------------------
..........................-...--------++++--------------+++****%%%###%----------------......--..--..-.-+-.-+-----.+*-*#+ +-.-.-.............--...-------*%%*****%%####%%*%%+-+###&&&@@#**#&&#*+*#&@@&&@█@@+++-----++++--+++.*%%%####*%*+*%*+++++++++++++****%+*%+%%%%%%**++****-+%%%+*+-+*++++*%%***+%%#&****%%##%%%%******%%%*****+++------+*%****%%%*+*%%%%*****%%%%%%%%%%%%***********++++***+++++*****++*******++---++-+**+***++*%%##%###&#*+*#&%----+++*#&&&&@@%**++++---------------------
........................--.---------++++++++-------------+++++%%%%##%%*.-..---+------.....-.-------...-+..-*-----.+*-*% .-....-.-.............. ....--+%**%*%%#####%***%%+.*%#&&##@@@&%%%%*+-*##@@&%%&@%+++..----+-----++-*%%%%#&%*##**#**+++++-++++++******%**%%%%%***++***++*%%**+.--*+-+++++%#*+#%%&#%%***%%%####%%%%%%******+++-----+++*%***%%**+*%%%***%%%%%%%%%%%%%%%%%%%%******++--+*++++*********%%%****+----+--+***++*+++++*%%#%%&&@@#*%##*-.--++++***#&&%**++++---------------------
......................-...-----------+++++++------------++++*%%%##%%%**+-..-----------........---.--..++..++------++-*% -....-.............. ...-+%%***%###%%%***%%*+*@#&@&&&@█@&&%%%+++%##@&@@&#&*++-...----....----*%*%###*%#%**%%+++-----++++*****+*%%%#**%*%%****++-+%%%*+----*---+*-+**--*--+#%%%**+***%%##%%%****+**+++--++++++*********+*%#%++%%%%%%%%%%%%#######%%**%*++*++++**+++**%*****%%%***+++--+++--++***+*++*****%%%#%*#&&&#&%***-.---+--++*%#%++++++++-------------------
......................-..------------++++++++----------+++**%%%#%%%**+++++-.---.------........--......-+-.+--..----+-+* -.-.--.............. ........-*%%**%##%%%%%%%%%%%+&█@&#%#&@█@@@#**-+-%#%&&&&@&#++-....---.. .+-.--***%%#%*%*%&#****+**+++++****%%%%####%%%*****%*++++***%+-----++--+*++-+*--..+%%+**********%%%***++*++++++++++++****+***%***%%+*%%%*%%%%%%%%%#%#%%%*%*%%*+++++****+**+******%%%**+++----+++--+++****+++*%%*%%%%%#%%%**%#%%%**-----+-+++*#%++++++++-------------------
......................--.---------++-+++++++++--+----++***%%%%%%%***+-++*+++----.-----........--......+++----------+.++.---.-.....-........ ....-+-..-%#%%*%%#%%%%%%%%%%%&%██@&##&&█@@@&%+++--##%&@@&@@%+-. . ...-+.++.. .+**%%%++*+&&%##*%*+**+++**%%##&&####%%**++**%*++++****+----++-++++**+-+**+++%*+++++***************++++--++++++*++*++**%%***%***%%%%%%****%**%%%*%%%%%*+++********+**+**%*******++-+++++++-+++****++++--****++**%#&#%-***%%%**-------+**#+++++++++-------------------
.......................------+-++-++-+++++++++++-+-++***%%%%%%%***++++++++***+------------....-......----+---------+-++---........-........ ..--+*++-%#%%*%%#%%%%#%%***%&@@@@@@@@&#██@##*++--+#%#&&#&&@*-..... ...**+#+... +**%**-++%@%+*#&##%*+*+*%%#&#&&&##%%***++++***++--**+++-+.-++-++++%*+++-++%%%++++++++*%********+++++++-++++++++++***+%%***%**%%%%%%%**********%%##%%*%%%%*%%*******+****++*++++++++++**+++++*++--.+**+*+*%%*+-+%%###%+-*%%%*%*+-----++**++++++----------------------
.....................--------+++++++++++++++++++++++***%%%%%%***++++-+++++**%%*+-.-.-------.-........--------------*-**---................. ....-+%**-%#%*%*%#%%#%%****##&@█@@&*%##&██@#%*+--.+#**##%#&&+.-+-...-++++*%*....-+***%-*-##++--+####%*%##&&#%%%%%%****+--+**+*+--+*+++-.+.-++-+++*%*+--++--#%+**++++++**********+++++++++++++-++**+**%****%******%%****++**%%%%%%%%%%#%++++***+%%*+*******++-+++**++**+++++++-....-*+**+*%%%%******%#%%*****%#%+---++++++++++-----------------------
.....................------++-++-+++++++++++*++*******%%%%*****++++++++++*****%%%*--------..----.....---+--------.-+-%+.--......................++%**-*#%*%%#%%#%%%*****+*%&@&%+-++-+%&&%++-. +#*%#%%#@&--++++--+*+-++**--. -+***#---*%-+*-.-*%%###&&&#%%****%%%**+++%%+*+--+*+----+-.+++--++*+*+++*++*%#*%*++*++++++******++++++**+++++++++**+*****+**+*******++***%%%#%%##%%%*%*-++*****%%*+***%***+++++**+++*++-+-++-......-++*%*****##%*+-*#%%%%**++%%#*--+++++++++++-----------------------
......................-.-------+++++++++++++*******%%%%%%****+++-++++++++******%%%+-----------+---...-----+++--+-.--.**-+-- ...................-**%*%.+#%*%%###%%*%**%&&@█&##%*+*%**+-+%%*-.. -#%%%*%#&%-++++**-++***-*+-..-++***++--*+-++*-.+%#####%%%%*****%%***++*%*++-+**+------..-++--++*++-++*+.+%#%***++**********+++*+****+++++**+++*+***************++++*%%%%%%%%%%%***++*%%%%*%%***+*****+++++**+++**+-++---............*%*++*%###*+++++*%%*%%*%%%+-+*++++++++------------------------
......................----------++++++*++++*****%%%*******++++++++++++++*****%%%%*%+---.----------..-.--.-+--+*+----.++.--- ...---..-........--+*%+*.-**%%%###%*****&#%#@█&#%++###%%**-+*. -+*%*%%%%&+---..-+-+*#&+*&* -+**+****+++%+----*+%###%%%*%**++++****++++**+-+++--.----....-+----*+-++-+*+++%##%****%********+********++++++++++++++++******+***+++++*%%************+*%%%*%%%***%*++***+++**+++++**+-++-.............-.+***++**%#%%*++**++*%%%*%*++%#+++++++-------------------------
........................-.-------++++++*+****************+++++++*+++++******%%%*%%**+-+-.----.--....-.-----.-+------.+- .--. ...-..-.........---+*%*%. +*%%%##%%*%**%%+*%@█&#%++%&%#@%##-+-.++-+**%**%&---.+++--*+-+*#&%-%*%+**+*#+-+*+-.--+%%%%%%%%%**+------++++****+++---..-+--...----..-*+-*++++*%%*%&#%#%%%************%**+++*+++++++++++--+***+++***+++++**%***%*++*******%%%%%%%*****++++*********+***--++-.................-*****++*%%%***%***++*%%*+%#%+++++++------------------------+
............................-----+++++++++**************++++++**************%%%*********++-...--....-.--------.-----.+*...-................-...-+*%*%. -+%%###%%%**%%*%%%@@@&*--*#%%&&&@%----+-*+****%%.+-+%***++%*#&#&#****+%***&*-.++-..-+%%%****%%**+-----+-++******+---..-+-------+-...-++++-+***%%%#&#%%%%***********%%***+**+++++++++++++++**++****+++++**%**%**++****%%%%%%%%%%*+*++**++*********++*+-+++-..................--*****++*+****%%%**%*%**%*#*+++++++-------------------------
............................------++++*++*****%********+******+****++******%%%***+********+------..--.-.-----+-------+%- ..---.............-...-+*%%%...-%%##%%%%**%*%##&@██&%-.%%*#&&#@*----*+*++***%*.*-*-..+**%#####&+++++**%+#*--+-. .+*%%%%#%%%*+------++**+**++++-+-..*+------.------+++--++-+*%%#&&#%%%%*******%%%%******+++++++++++++++**++*****++++*****%****%**%###%**%%%%***++*+*+********+++**++++-...................---+**%*+--+++****%##%****%%++++++++-------------------------
......................-......-----+++*+*++*********+++++++++++**++++******%%%**********%**++---....--...--------....--#+. ..---............-.-.-+*#%%-+..%%##%%%**%%*%#%%%%#@%- *&+#%*#&*---++*+++*%*%*.*+#+-++%%%##%&&#+++#**+**#*--*- . .+*%%%%%%*+-...-+++*%*+*++++---...----.-+-.-+-----+---+++-+*%##&##%%%**%%%%%%%**********+++++++++++++*++****++++++********%%*%%##%%+*%#%%+++++++++**+*****++****+*+-...................--.-+-+****++++++**%%%%*%#%#+++++++++++----------------------+
.............................-------++*+*+********+++++++++++++++++*****%%%%***++*******++++---....--.......---.....--%%. ........-......--.--+*%%**++-.+##%%%%*%%*+*%*%**+++- .####&%&+++-+++++***%#+-**#%+---+*%%%#*%*#**+***%##+-**....-+******++-.---+*+***+++---.--. -+---..----+----------+++-**%##&###%%%%%%%%%%%%****+**++*+++*+++++++*+*****++++++******%%%%%%%%%*+*##%*++++++-+***+******+***++++-....--......--........-*+++-+*********%%%**%%%&*++++++++++++--+-------------------
..............................------+++*******+****+**++++++*+++*******%%%%***+********+++++-------+-------.....---.-.*#+-. ............-..-.---*##**+---.+#%%#%%%****#%%**%#....*#%%&%&*-+-+***+****%--%.--%*+**+*%#%*%*%%+-+*%%#&*-**...-++++-+++++-++++*%**+-+-..-----.. -++--.-.--++-----.----+-+++*%#&&###%%%%**%*%**********+**++**+++**+**+****++*+++*******%**%%%%%*++##%*++++++++**+++**%****%%*-*+......----..-----..-..-++-++++*--++*+***+***%%%#*++++++++++++++---------------------
...............................------++++*************************%%*%%%%*************+++++++--++-++----++**%*+----...+#%-. .............--.--+%#%**++%+--%###%%%***%#%&&#%&....+###&#%%+-+-**++*****--*----*+*++**%++***%##+%*+%#*-**------..--++--++***%***++------.....+--....---+++--+-------+--++*%#&&%%#*+++++*******************++++++***+***+++*+++***%%*%***%%%**++%%%*+++++++***++*+******%%%+**---.------------------+*+-+*+*%+--+++*%**%*+**%%++++++++---+----+--------------------
--...........................--.---------++*****************%%%***%%%%%%*************++++++-------++----++*%######%**+%##-.. ............--.--+%#%*+-+%-..+%##%#%**%%%*#&##@-.. .*##&@&#--*-.-++*%**%--*+-..-.-.***--++%%&##%-*+##*.+%-.-------+++++**++*++--+---.........+-+-....---++-+++--..-.+--++**%###%%%%@#*********************+++*++******++++++++**%%***%%%%%**++%%%*+++++++**+++++**%*%**%%*+*--++.-.-----+-+-------++---**%#+-----+++%#&#**#*+++++++-------------------------------
-..........................-........-----++++*%****************%%%%%%***************+++--++-+-----++---++*%%#############- .. ...........--.--+%#%%*-+*....*&###*+*%**#%&#*#+.. .+%#&&@&+.++.-+++***%--**+..+-+**++-++***&%**---%#-.+*-.--+++++++++*+--+++++----....-. ..+----....-+++++++++-..-.--+++**%##%%%%%#&%***%%%***%*%%%%%%%**+++*++******++++++++**%***%%%%%**+**%%*++++++++*++++***%*******++----..------+-+-+-+---++---+*##+-----++++*&*+##+++++++-+-------------------------------
....................................-------+++*%%%%*****%%%%%%%%%%%***************++++++-----+----++---++*%#######%#%%###*. . ...........----+*%#%%+-++--..+&##%*+***#%*##*%*... .+%#%##*.-+..-++%%**--+..-+****+..++-+.+%*+.--++#*-++...+-------------++-++----------..--++-....--+++*+++++-....--+++***%###*+-*#%***%%%%#****%%%****+++**+********+++++++*%****%%%%%**+**%**++++++++++*++**********+*---....++----+-++%*--+++----%#%-------+++*#%--++++++++----------------------------------
...........................-........--------++++**%%%%%%%%%%%%%%*****************++++----------+-++-++++**#############%%%+ . ........ ..----+*%&#%+-++*%%--###%#%%%#&+*###&#.....-****%*. +..-*+%%**..%++-++-%*-*-..*+..+-.--*+-&#-.*-..........--------+-----.---+++++----.....---++*+-*+*+-..---++++**%%*+--.+#*****%%#█*+***%%%****++***********+++++-+*%****%*%%*********+++++++-++++********%*++---...-++.+----+++*&++++-----++-------+++%#*--++++-++------------------------------------
...................................------------+++********************++*******+++++-------------++-+++*%%############%%%%*- .... ......-----*%#%%+-++*%#***#&#%*+%%&%+**%%&+ . -.+**+%*-.-+.-*+*%**-.*+%--+--*.-%*-** -.-++**-.#&-.--......------..-.-+-..------++**++----......-.-+++-++**+-..--++++**%*+... +&*%&%%+%#█@*++****************%****+++++++*****%*%%*********+++++*+++++++*******%%+-----..--+-.-----++*+#&*+++-------------+%%%+--------+-------------------------------------
..............................--.-------------++-+++++**********+***++++**+*++++++---------------++--+*%%############%%##%*-. .. .........-----*%#%%+---+*++%.*#+ +#*#*.+*+*&%. .--+**+*+. *+-+-+***- *+..--.+%. .+--%.-++-+*+*-%@*.-*-...---++-....---.....--.-++++---..-.......-.-++--++++++-..-+++*++%*+-. .#&+##&&-.&&&@&%***++***%***********+++++-+*****%*%%%******%*+++++**-*+++++**%****%*+----.....-. .---+++*+*&*+++-------------+*+------------------------------------------------
-............................----------------+-++++++-+++++++++*++++++++++++++-+----+---------+-+*+++*%%#############%%#%%%+-.............--.--*%%%*----++-**+*% .*#%*%+.-++*%#- ...+++++*. -*-+*+***-.*+*+---*---.--+#+.--+-%+*--&%--++.---+++++-...--..---.-.-+-++-----...-......-.-+-.++-++--..-++**+++*++*--&%+%%@&- &#%@██@##***%*************++++-++*****%%%%**+*%%%*+++++**++*+*++*******%%++----...-.....--++*+*++##+++----------------------------------------------------------------
-............................-..-.---------+++-++++++++++-----+++++++++++++++++++++-------------++***%%#############%%#%%%%*..... ........-----*%#%%-..-+-++-+*%-%#.-.*++.+***%% ...-++++++. **-+-***-.+-+--++..------*%.--..#*-+-&&+.+%+-+++++++- ...--....-..++----..--...-.......--+++++-+++----++**++++-+*-#&%+++&+-+#+#@@@@@&&#%##%***%**%****+*++++******%%**+**%%*%*++++**+++*+++**+****%%**--.--.. --.+*+.-+-****+*&*+++--------------------------------------------------------------+
.............................------------++++++++++++++++++--+-++++++++-++++++++++++---------+++****%%#############%%#%%%%%*-.............-.---**%%%-.--.-+-.++%+*#-.+**+.-++***+ ....-++++*. -%.+****----+-++*---+--.++%--*.-+%**-+#*.-%*-++*++++. ....---.---++----................---++**-+++----+***++++-*+-##*%%%%.-*%+&@&%&@&&#%%*&@###%%%%**+++-++**********++*%%*%*++***+++++++++++**++*%%**+-.--.. .-.-++..-++*+%*%&#++++-------------------------------------------------------------+
.........................-..-----------++++++++++++++++++++++++++-+----+++++++++++++++---+++++****%%%##############%##%%%%%*+--...........-.-.-**%%#-.--.---.--*--+---%***+-++++*- ....+*++**. ++-++*+---.***-*-*-.--..--#-&-..-%%-.%%+-*+-++**++*.. . ..-+-+-+++----.................--++*+%++*----+*+++-++-+.*%+*%#@+**%+#@@@&#@@##&#&#@&#%%#%%%%**+++***+******++*%%%%*++**+++++++++++++++++%%***++..+-......-*-.--++***%#@*+++-------------------------------------------------------------+
-...........................----------++++*++******+++***+++++++-++---+--++++++++++++++++++*****%%%##%##############%%%%%%%%%-.-..........-. .-+%%%#-.-.---..-+*..---.++.----++++++. -+***** -*.-+++--..-..+#-++..--%-.+%&%...+++.-%++-+-++**+**........-+++-*-............... ..-----++%*%%**-.-++*++*++--.-%*-+#█**+%%+@@@&@#&@#+@#%%%&@#%##%%%******++*****+++*%%%%*++*++-+++*++**+++++++*%*****++--+-.. .-.+-.--+-*%%**&#+++-------------------------------------------------------------+
.......................-...---------+++++++++****%%%%%*********++++-----++++++++++************%%%%##%##############%%%%%%%*%&* ...........-...-+*%%#....---..--*-.-+--+*..----++++++. ...***+*+.++.-*+-+.....-*+-. --.*+-.*##+.-++---#+-++-+++++*+ ...-..-------................-+++-..-++*%%#%*+.--+**+***-.*&*+-%@%+*+*.#█@@&#*##@#%@&#&&@&%&@#%%%%***+-++++++++*%%***++++--++++++*+*+++++++******%***-++---..-.-----++%#**%&+++-------------------------------------------------------------+
....................-.---.--------+++++++***%%%%%%%%%%%%%%%**++**++++--+++++++++***%%***%**%%%%%%###################%%%%%*%##%.--.........-...-**%%%-..---.. --+-..- --+... ....-++++-.-..-+***+.*--++-++.-+.+*-.-.---...--*#*--++*+-%*-+.----++*+.....-.-.-----.... ........--+++--..-++++*%%#%*--+-+*+**+.-@#++%@&*%*#-+@@@&&&&@#&█@#█##@@&&&@@&%%*******++****%%****+++++-+++++++++***++++**+*********+-+--..--..+--+++%%*%#*++---------------------------------------------------++--------+
.....................-.---------++++++***%%%#########%%%%%%%%******++++-+++++******%%*%%%%%%%%###%%##############%##%%%%**####---........---..-**%%*..----.. --+-...--.-.-%-......--+++-.-.--+**+++-+++-%*+*+-**--+-----+---*#+.+-++--+--.++---+*- . ...--.+--++-..-++....-++-----....++++***%#%**+-+++-+*+.%#%-&&@*-*&--@&%&&@██##&&&█@@##█@&##@@#%*****%%%%%%%%*+++*+++++-+++++++*++****++**++***+***%**+++---.-------++-***#%++--------------------------------------------------+++------+-+
-....--.--.--....--..----------++++*****%%###################%%%%****+*+++********%%%%%%%%%#####################%##%%%%%%####&+....... ..------+****.-----.. -.-- --+..-. ----......---..---+--+*---**+--**..--....--.-.+---++%++--+-.-*..+*-+-+*- ..-----+------+%###%+--+-.---------+**+**+*%%%+-+-+*+++.*#*-%@@*+%&+-&@&*%&#+.+%%&####%%&&&█&%#&%**+++++*****++++*+++*+++++++++*******++**++++********%*+++-+..---+-.-++-+%&#%#------------------------------------------------++---------+-+
-----.--.------.-.-...-------+++*++***%%#######################%%%***********%%%%%%*%%%%%%###########%########%%####%%%%%#####%..........-----++*%*+.----... -..+ -+...-+ ..-. ..--....*+--*+---.+-+-- .-*+----+-...+.+-----*#%*%-+-+%-.-++--+*- ..-+-.+---..-*&██&##&*-**-+-+--+-.+*%%*%%*+**%***+++----#*--#@*+%&++@@&*#&%+***%#*++**#@@#@&&#%&#**+++++++++++++**+++++++++++*********+***+*++*+***++**%%+-+++-..--++-.-++*%*#%----------------------------------------------++++-++-+----+-+
--------------.....---------++++++**%%##%%%%%%%#######&&&&##&&&###%%%%%%%%***********%%%%%%##################%%%#%##%%%%#####&*-..........-----+*%++-----.......-.. ---.-. -...-..--.... -**.-----.-+......-++++-+*++---%+--+--*##%++%+&+.+*+--++-. .-..+-.**+#%#███@###-%&*##*+++*--+*%%%%#%++*****+++. -%*+-*##-%+-*@#@█%#*%++&#**%**#*%&&@&#%#&%#%****+++++++++**+++*+++++++**+******+***++++*++**++*++***+--++-.-..-+--+****&#---++**%+-------------------------------------+++++++-+++-++++
----------------..---------++++++**%%#%%**%%###########&#&&##&&&&&###%%%%%%%**********%%%%%%%############%%%%%%#%##%%%%#######+--.........-.--++****----........-. .-...-..-.. ---. ..-. --.-..--..+- .+..........-+*+--*%#%+*+++##*%+&*.-++-.--- ..----+***@&+@██@&%@%*@#&#%**%%*-+%**%%%##*-+*++++-- -*-..*#%-*..-.#%#&#%*-.-+*%&**%+#%*#█@##%##%%%****++++-+++++++++++++++*+++*****+****+++*++***+*++*+****-.----------+***%&##%%%%%%#------------------------------------++++++++++++++++++
---------------------------+++++**%%%%**%%##%#########&&&&&&&&&&&&&#####%%%%%*********%%%%%%%######&####%%%%%%#%%#%%%#########+.-.-......--.--+++*%*.--. ....-..----.....+.-...--. ...-.... ... ....+.-.---.........-*%. ...+-++&@&*%+##..++-+*+*+.-+*%%**+%&%*██@&%#@*%@&@#%%#%*%*******%%%%-+*..---.-%+-.+%#.*-..--*&&&#&----%#%%#+***&##@&####*&*%%**+**+++++++++++++++++++++*****+*%**+***+++****+*+++++**+..+----.-.-++*%%%%&#%++*#*-----------------------------------+++++++++++++++++++
--------------------------+++++**%%%%%%%##%%%%%#####&&&#&&&&&&&&&&&&&#####%%%*****%%%%%%%%%###%%%######%%%%%##%##%%%#########%*-..-. . ..-.---+++*%*.......---...+-.-....+.....-.......-. .... ......-..--......--++---+*....---&&+*%&*+@-.-+----.-***+%&%%*%***█@&#%&&*&&@@##&&#**%*+**+*%*%%+++---+-+*+..+#%-.**...-#@@%%%-#%-*%+--+%%+%&%%#&@###%#%%****+++++-+++++++++++++++***++**********++*+++***++++*+++---++--.-..-+**+++%%#+*#*------------------------------------+++++++++++++++++++
-------------------------++++**%%*%%%%#%***%%%%%####&######&&&&&&&&&&&&#####%%****%**%%%%#%%%%%#######%#%%%%%###%%%##%######%%*-.-.......-----+++*%%.... ...-.. .+....-. -+...... . .. .-.. ...----...........---..-----+-.-..*%+.+%&#*%#-++----..-%**&&&%**+-*@##%#&%*&#@&&&&#&###***+-**+%*+**%*-+-*+..+%#.--**-..+@@%*+*++-+----**%*%%##&&&&&&@%%*&%**+++++++++++++++++++++++***********+**++*++++*****+++++*+------....----++-+++%+-----------------------------------+++++++++++++++++++++
------------------------++++*****%%%%******%*%%%%###########&&&&&&&&&&&&&###%%%%%****%%%%%%%%%####%#%%%%%%%%#%%%%###%######%%%**.........----.+++*%*......-..-. .--...-.++*...... ......-------++*--..... ..... .. ..----+*++*+. -+%@*##+..-+--+.+*-*#%*%*+-%@@####+%&###@&&&@&&#*%*++*++%%*#%%+++-+.-+*#-.--*+--.#&#*%*+-+**#+-+*+*+*#@#####%####%*#***++++++++++--++++++++***+********+********++**%*+++****++---+--..---+***%%*+--+--------------------------------+++++++++++++++++++++++
------------------------+++***%*%%%***%%%*%*%%*%%%############&&&&&&&&&&&&####%#%%%%%%%%%%%%%###%%#%%%%%%%%%%%%%###%######%%%**%+........--.--+++**+........-... .-.--..+++-.-........-..--+-------....... .. ..-.+*+-+ ...+##+*- --**-*-+**%%##%++-%##*%&%+%#&&█&%*##*#%%%%*+--+*%%***+*-.--+**---.*%--.+%*%***++-+%#*+**+*%#█&#%%****##%%+#%+*++++++++++++-++++++*+++*****************++****+++****++++------------+*%&#-+++--------------------------+--+-++++++++++++++++++++++++
------------------------++**+%**%%**********%%%%%%%%%#%%#######&&&&&&&&&&&&&#########%%%%%%###%%%#%%%%%%%%%%%%###%%######%%%%***-..-.....--.--++++%* ........ ..-----+++-- .. ....-.-...---------..... .- .. .-.---*%*+*****+*-.++-*+--*--*%#%+-++#%%*+#+*&&%&&&@#++%%%#%%%+--++++++-*+---**+..--*#+.----+*++*++-++--+****#&##%**#*#%++#%%%%*****++++++++++++*++++++********+****+****++****++******+++------------++%&%-+++++----------------------+++++++++++++++++++++++++++++++
-----------------------++*++%**%%******+*****%%%%%%%%%%%%%%######&#&&&&&&&&&&###############%%%%#%%%%%%%%%%%%###%%######%%%%****-..+.....-----*+++#* .......... ..--.-+-----......-.-.---.......... ........ ---+--.......--+##&@+--+-...*+--.+-**+*+%*+**%****%%@@%**###%#*%%*%%%#*--+++++++*+--.+%. .-%*----.--++*++**++**%++%**&%#*#+&@&##%-+%%#*****++++++++++++**+*++*************+*+******++*****++***+**+-+-+-----.....%%-+++++-+-----------------++++++++++++++++++++++++++++++++++
-----------------------+*++***%**+*++++++****%%%%%%%%%%%%%%#%%#######&&&&&&&&&&###########%%%%##%%%%*%%%%#%%##%%#######%%%%****+...-.....-.---+--+#*.... . .......---+-...-+++----------. -. ......--- +*.*-.---....-...-++ -*-..+--+--..-+*++++%++*%%*-*&&##&@#++%#%+*#%*%%#%-++++***+*+--.+-...++----&+--++***+++++%*++*%##%##*+*%%##%*-+%%#***+**++++++++***++++++***++********++***++**+********+***+**----.--++----%*-+++++++-------------++++++++++++++++++++++++++++++++++++++
-----------------------*++**+*++*+++++++**%%**%%%%%%%%%%%%%%%%%%######&&&&&&&&&&##############%%%%%%%%%%%###%%%######%%%%%*****-....-....-..--+-++#+.... .. ....--+- .-++++++-...... .......---.--.*%-%%+****%%%#+-....+#- -+++---...+--%%%+#*.*#*-+&&#%&&&@&-.**-%#++**%%*-+--++++------..-.++--+&&-%*--+++++--++--*+*#%#*++%+*####&%#+%%%****+***++++***+++++**++++*************++*********++*+****%%*++++++++++**#%++++++++++---------++++++++++++++++++++++++++++++++++++++++
-----------+----------+++**+*++*+++++++**%%%%%%*%%%%%%%%%%%%%%%%%%######&&&&&&&&&&############%%%%%##%%%###%%#######%%%%*******+....-....-----*+++#+..... ... .....+.++.--+----..... ... . . .---+--.-...-.+%*##%++####*%@&%--*#+.--..--...... *#*%+%#-+*+%█&#+%#**+*#++*+%%+++**%*++-+++++..++-..---+-.+&@*%*--..--------++*+##%#-****-*&&#&&&&*%%*********+*++*++++++++++****++**%***%**++*********+*+++++*%%%***+++++*****%%++++++++++-+++++++++++++++++++++++++++++++++++++++++++++++
---------------------++++++++++++*++++***%%*%***%%%%***%%%%%%%%%%%%%%####&&&&&&&&&&#################%%########%####%%%**********....--...-----++++#-...... ......----++--............. . .. ..------... .%%%*&*+%%**##&*+*++- --..+*+-.....++-+*++%%-*####+*%%*++*%#%%%%*+-+++*+**%*---...+%++-.--*..%@#%+.--..-..------*#-###***%**%*%##%&&&%%%%***+++*++++++*++++++++***++***%***%**%*******+**+++++*+**%%%%*%*+++++*%***#%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--------------------++++++++++++++++++***%****%%%%*%%%%%%%%%%%%%%%%%%%%###&&&&&&&&&&&&###########################%%%%**********%+....-......--+-++%+...... ........------.......-..... ........ .........-...-%-+*##*%#%+++*#*--..----+++-....----++-+.*@@&%+%+**+%+*%#&#&###+--+-++***++--..-.#%**++-*%+##%+---+*.-.--.--++-%*-%&#-%*%%***##&###&@%%%***+*++++++**++++++*+***+***%%%***%**%%***%****+++*+*****%%%%****--******%%#%++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-------------------+++++++--++++++*+++********%**%%%%%******%%%%%%%%%##%###&&&&&&&&&##&&&#######################%%%*******++**%**.........-.-+++++%-...... .........--...-+--.. ............ .... ........ ..--..+%++-+*-*+--+**+-. ..--++--... ..++-+----++&@#*++**%+%%%#####%%%+++----+%*++--.+.+&*%****###%+---..++.-..--..-++++-%&*+++*%%%%%####%&@@#%%******+**++++---+**+******%%%****%*%%%**%*********+*******%%****++**+***%#&#*+++++++++++++++++++++++++++++++++++++++++++++++++++++++
-------------------+++-+++--+++++++++*+**%%%%%%%%%%%%***%%%%%%%%%%%%%%%#####&&&&&&&#&&#&&######################%%%%%%****+**%****--...-..--..+++*+%-...........-.....-....-+.----...--.--...........--.-++---+*+----+-----+-*+---. ...------.. ..-++++--+.**&&%*--*+-*+%#%%%#**+**+---+-+++*----++%*%#+%&**+----.--.......-++---+-+##%-..-++**#**##&&@&###*%***+++++++----++**+*****%%%****%%%%%%%%******%******+***+*****%*++*%*%%#&##***+++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------++----+--++-++++++*****%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#####&&&#&&##&&&&&&&&&##########&####%%%%%%%%%**%#%%%%*%*-..-...--.-+++*+%--..........--.....--..-....-+-+++-------..-++--+++*+++++++*+--.. ....----+--. ..--.--... .--+*+----.-*+#%**+-%+--+-*%*%#*+**+------+++---+--%++&#%*%+--+-------...--.-+---.--*%%%-.----++%%%%##&&##&@&%****++++++---+++***%%**%%***%%%%%%%%%%%***%%****%*************%%%***%%%&@#*****++++++++++++++++++++++++++++++++++++++++++++++++++++
------------------+++---+--++-+++++*******%%%%%%***************%%%%%%%%%%%%#####&&#&&&&###################%%%%%%%%%%%%**%%*******+-. --..--.-+-++*%--.......-..........-..........---......-+-+*++++++++++--........... ....-.. -+-...... .-++*+-----.++#&##+*#*-+**-**%%*+*++.....--.--..--+*+#&%*++*-+-++..--..--.-..--*---+--**+++++-*#+%#**&&#%@@&##********++--+++**%%%**%%**%%%##%%%*****%%%%***%*******+********%%%%%%%%&@#%****++++++++++++++++++++++++++++++++++++++++++++++++++++
----------.----------------++++++++*******%%%%%*********************%*%%%%%%########&&&###############%%%%%%%%%%%***%%%#%%%**++++*-..--..-.--+-+++%-....-.-..-................... ...... .-------.-..... . ........... --...--.. ..--++-++---%*##&%+*++*%+**#&#*-+---.....--.......+++#%*+--%*---**-++---------+++-**-+*+-***-+%*#*%&&#%#@@###%*******+++++++***%%%%*%**%%#&&###%%%%%%%%%***%%*****%*+++%%****%%%%%%##&@#%*****+++++++++++++++++++++++++++++++++++++++++++++++++++
---------------------------++++-+++******%**%*%%*************************%%%%%#######&&############%%%************%%%%%%%****%%%%#*-.--....--+-+*+%-----.-.................................. ............... . ............ .------.. .... --++*-+*.-+%%#%&%%#**%+*%&&#%-++-.--.--.-........+++#%+..-*%--..-----.-...--.+*-.-*+%%-++*+-**-*#%#*%&@#**█@%*%*****+++-++**+*%%%%%%%%%##&&######%%%*%*%%%*****%****+*******%##%%###&@&%%*****++++++++++++++++++++++++++++++++++++++++++++++++++
--------------------------++++++*++************%%*****************%%%%%%%%%%%%%%####&#&&###########%%%%%****%*%%%%%%****++***%%**%**+--..------+*+*.------........... ...................................................... .--++--..........-+**+-+--+***%+%#*+%++##&##+-+-.....----........-*+*%*-..+*+--....----...--++++.---**-+++++*-++*+*##%****@%##*****++++****+*%%%%%%#%%##&&&#&&##&##%%%%#%%****%******+******%#####&&&&##%%****++++++++++++++++++++++++++++++++++++++++++++++++++
--------------------------++++++++********%****%****************%*********%*%%%%%####&##&###%%############%%####%%*******%%*****%%**++----.----+++*--------....................................... ........................... .+++-.. .--.......-%++-+++++*******+*+%#%%%*+-......----. .-.. .+++*%*--+*+*+--+*+++--+--.--.-.-..+%---++++---*#&#*++***###&%%****++*******%#%##%####&&%%%%##&&&##%##%%%*%%%******++**+***%#&###&@@&##%%%****+++++++++++++++++++++++++++++++++++++++++++++++++
--------------------------+++++++++*+******************************************%%%###########%%%%%%##########%%%%%%%%%%%%***%%%%%%%*-+-+--.-.+-++**.-------..................................... . .................-..... .-+.......-.--....--+-+-+---*##**++#@@#****++-.......---.... .-. .-+--*##**-*%*+------...--+----++-.*%-**-++--+#%*+*+#&&%#*%%##%%%************####%###&&%*%%*%%#@&######%%%*%%%%****+***+****%&&#&@@@&&#%%%*****++++++++++++++++++++++++++++++++++++++++++++++++
--------------------------+++++++*+++*******************************************%%%####&##&##%%%%%%%%%##########%%%%%%%%%%%%**+*%%%*++-+-....+-++%%.------..................................... .. .................-..... .+-.... .. ..--.--.++-.--+++%***&&&#*++++--.......--.-. ...-- ..++.-**+--+-.-+-+++*+..-.-++..-+++%%***++-+%#*--+***+%##%##%&&%%%**%*******%######&&&%******%#&&&&##%%%%%%%%%%*******++****%#@&&@@@&##%%%%*****+++++++++++++++++++++++++++++++++++++++++++++++
---------------------------++++++*++**************************+*++***************%%%####&#####%%%%#############%%%%%%%***++--+**+%%**+-+-....--++**---+---......................-............... ... .......-...............--.... . -. .----..-+.-+*-++*+%%%%+++-.......-..-. .-....... .. ..*-.-+---+++-.....-+*--+-.+++++*##*%*---*%%+..++**+++*%#%%%##%#%*%*%*****%##&&##&###%******%&&#%###%%%%%%%%%*******+++****%##@@@@&&&##%%%******++++++++++++++++++++++++++++++++++++++++++++++
-----------.-----------------++++++***+*******************+++++++++*****++++*******%%#############&##########%%%****++++--+****+*%*%++++-....---+**------........................................ ..................-..........-. .+----+**+++*****##%%#***++-...-....--.--.--. .-.--.-. ...-+-+**--.---. . .-*+-*+.-+++++++%+-+*%+---***+%*+++%%#**%%###%%%%****%##&&&&&&&&#%*******#%*+%&###&#%%%%*%***%**++*****%##&@@@#####%%%%***************++++++++++++++++++++++++++++++++++++
------....-------------------++++++**+**************++*+++++++++*********+++++******%########&&&####%%%%%######%**++--+++**%*+++***%*+**-...---+-%*------.....................-----..... ........ ................-.--....-..- . .+*%%##%%%##&#&&@@##%+++-.........--.----.. .-+.-+........+**#%**+-......... -+-.++....-***%-***---+-+%%+%#+**%##%%&####%%%%%***%#&#####&&&&********++++*#&%*##%#%%%%*%*%*+*******%##&&█@######%%%*********************++++++++++++++++++++++++++++++
-------...---.---------------+++++*************++++++++-+++++++**+*++++++++***********%###&&&#####%%%%###%%#####%%*+++******++++++***+*+-....--+-%*--+-....................-------.... ..... .............. .- .--......- .-+*####&@&####%%##%%%--...-.....-..+*.+..........-..... . ++*%+**+--...... .+-.+%+.*+*##+*%+-.-++*+-+%*@**#%%%#&#*#####%%**%####%#%###&&&*******++++++%#*+&#*#####%************%##&&@@&#####%%%%**********************+****+++++++++++++++++++++++
------......-.---------------+++*++******+****++++++++-++++-+++++**+*******++++**%*****%############%%%%%%#########%%%%**+-------++*****-....+-++%*++-.......................----..... . .... ............. .-........... ...+*%##%%%%###%%****%#&#+-.....--..--+**++..-+-.....-........ .*++*+*#*-..-...... .--.+%-*+-+*%%+--++--+%**&+%@**%%&&%%*%####%***%###%*%*%#%#&&******+++++++++++#*+#&#%%%********%****%#&&@@@#####%%%%*****************************+++++++++++++++++++++
---.--......-.----------------++++**+*********++++++-------++++++*********+********%%%*%%%###&########%%%%%%%########%++-+---+-+++*%++%*--...++++%*++-................--.--....--......... ................ .--.......... ...-*%%*%%%%*%***+**%#&#**---...-+-+*--*%*-+..--..-....--...... .*-*++%+%+--....... ..-.+%**+*#%---*%++---+%#+-%%%###***%+#&##%***%###%*%*%%%%%&%****+++++++++++++++*%%%%**%***%*******%#&@@@@&####%%%%*******************************+++++++++++++++++++
.-----......-..---------------+++************++++++--+------++++*+++++++++++++********%**%%#########%%%%%%%%%%%#%%%####%%*************%*--..-++++%+*---............----..----............... ........ ............... .----.... ...+**++***+****+**%***++-..------+-%-.+%%*++........... --. ..... .-%+***+*%--.-...... .-.-++%&#*----++--+----+++-*&%+-*&%*%&@##**%%##&%*%%*%%**%%%****+++++++++++++++**+%#%%#%%%%%******%#&@@@@&####%%%%%***************%%%%%%%%********++++++++++++++++++
----...........-.------------++++*********+*+++++-----.-------+*++++++++++++++**+++******%%##########%%%%%%%%%%%#%%%#####%%%%%*****%%%%*--..-+++*%+**-----.-...----........--+-------........ .......... ............. .-..-..... .-+****+++********%**+---.--++--+++**++***++++-+-.-.--.. ........ --+-+++++--.-.........--.--++.-+++-+++-++--+**%*++**+*#%&&%##**%%###%********%%*%*++++++++++++++++++++%###&#%%%%%*****%#&@@@&&####%%%%%%************%%%%%%%%%%%%%******+++++++++++++++++
---..............------------++++*********+++--------.--------++-++++++++++++++++++++******%%%###%#######%%%%%%%###%%######%%%%%%%%%%%%*-...-+++*#****++--------++.. ...........-------------..--..................... ....---.--. .+++-+*%%%%%%***%**+----.--.++------+*%-**++-.----.--.. --.. ..... .-+*%*++--+.+...-.....--+-.----++++*++++-+--**+-.+%*++***#&&#%*%%###%*****+*******++++++++++++++++++++%##&&#%#%%%*%***%#&&@█&&&###%%%%%%%******%%%%%%%%%%%%##%%%%%*****+++++++++++++++++
-.................----------++++****+***+++++-------.---------+---++++++++++++-+++++++++*+**%%%#############%%%%%%%%%%%####%%%%%%##%%%%*....-+++*#********+*++++*+................................................ ... .--.--- -.. .-..-+*****%%***+++---.-...**---%%.+----*%*-- ....++.....+-. ..... ..++++-*-..-+....--....----+++-+-++-*+++*+--+--.--%*++*%+%&#&%%%#&#%%****++++****++++++++++++++++++++*%%@&@&%%%%*%%**%%#&&@@######%%%%%%%%***%%%%%%%%%%%######%%%%****++++++++++++++++++
..................---------+++++***++*+++++---++-----------------------+++----+-------++++****%###############%%%%%%%%%%####%%%%%%%%%%%*...--+++*#**********++**+-............................. .. ..............-----. --. .-+++++*+*+++++++--... .+*+-+*%%+----+**+--...-........ -. . .. ....-. ..--.-+... .-.....---+%*+-++*%##**+-++-.----*%%--***%#%##%#&#%%%***+++++++++++++++++++++++++*++**###&&%%%%%%#%%#%#@&@@######%%%%%%%%%%%%%%%%%%%%########%%%%****++++++++++++++++++
......-...........-.-------+++++***+++++++---+++----------------------------------------++++**%%%#############%%%%%%%%%%%#####%%%%%%%%%*....-++**&*********++**++-............................. ... . .............---. .... .---++++++++-------.....+%*-+*..***+++++++-....-............... .+......-. .+**+--...... ....--+%+----%%%+.-*+-----+-*+%%-#*%#**@&%#&#******+++++++++++++++++++++++++*++***%#%&#%%%%##%####&@&&######%%%%%%%%%%%%%%%%%%%#####%%%%%%******++++++++++++++++-+
...-.............----------++++****+*++++------------------------------------------+-----+++**%%%%####&&######%%%%%%%%%%%%%####%%%%%%%%*...-++*+%%************++++............................. . ...........----..... .-.-++++-++--------......++*-**+-+*%++++++--.....-...........-. .*+.--..+-....-+*-......--.. .-.+%*--++-.-+++.......++--+%&*%%*@@#####**+**+++++++++++++++++++++++++***+*****%&#%%###%#####&@&########%%%%%%%%%%%%%%%%%##%##%%%%%%%******++++++++++++++++-+
.--.-............----------++++***+*++++--------------------------------------------------+***%%########&####%%###%%%%%%%%######%%%%%%%+....-++*#*+***+*****++++*-............................ . ... .......--.-.......+++++++--------.... .--++*%*+++-++*+--+-.-.......-...... .. -*--*-..-+-.-...----.....----.. .-.-%*.+-+-+*-+-.+.-++.-+--+%%%#@&#####&**+**++++++++++++++++++++++++***********##%##&&#&####&@@##########%%%%%%%%%%%%%%%%#%%%%%%%%*******+++++++++++++++++-+
-.--.............--.-------+++*+**++++-+-------------------------------------------------+****%%%##############%%%%##%%%%###%%##%%%%%%%+....+*+*#++****%***++++**-...........-................... ......--.--.....-.---*--++----.-..--......---*+*%++---+++-+----.........-....... -%--*--..++-.....-..-+-............--+*-.-+**--+**--++++-**.-#*#@&%#@#&##%**+*+++++++++++++++++++++++***++*******####&&&#&&&&&@@@&###############%%#%%%%%%%%%%%%%%%%********++++++++++++++++-+
-..-.........-...--.------++++++**++++--------------------------------------------------+***%%##############%%%#%%%%%*****%%%%%%%%%%%%%+....+*++%++**%*********++-.........---................... . ........---....-.--++-+++... .......-...-++*%+*+++--+-------+- . ......-.-. .**.+*-.-..-*+-....-----++-...........-.-*+-*%--.-++-+..-+--*+*##&&%*%%####%**+*++++++++++++++++++++++++*+++******%&&&&&#&#&&&&&@@@&#&&&&&&##########%%%%%%%%%%%%%%%%%**********++++++++++++++++
-............-..--..------+++++**++++--------------------------------------------------+***%%%###%%%%%%%######%%%%%%%%%%%%%%%%%***%%%%%+...-+*+*%+***********++++-...........-..................... . .......-+-......-++-----.. ..........-.+++****+++-+*-------+-............ .+%*.%*..-...-*++--...--.---+-.... .. . .+--***-.-..++-+- .-+++*%#@#*%%%%&#%##%*++*++++++++++++++++++++++++++***+***##&&@#%#&&&&@&@&&&###&&&&&&&&######%%%%%%%%%%%%%%%%%**********++++++++++++++++
...............-....------+++++**++++--------------------------------------------------***%%%%##%%*****%%%######%%%%%****%*%*%%%%%*%%%%+....+*+*%+*+********+++++............-...................... . .. .......-.+-......-*+--.... ........-..+*****++-+-*----------.........- .+%%+-%*..--.+++*-++....-.-+...+-....... -+----.--..-+..+%-.-+++*#%***##+%@%%#%****+++++++++++++++++++++++++++++++*%#&&&#*%#&@#@@&@&&#####&&&&&&&#####%%%%%%%%%%%%%%%%%%**********++++++++++++++++
..-.............-..-------++*++*++++--------------------------------------------------+**%%%%%#%%*******%%%%######%#%%%***%%*%%%%%%%%%%+...-**+*#+*****+**+++++++...........---..................... . .........-.---.....+++--... ....--..-..+**++**-+++*-------++...-.......-%#%-+#+.-#*+-.--..---...-.--.. .*-..........-*-++ .-..-*+..*#*-..*#*+&%-*#+-@█%%#%****+++++++++++++++++++++++++++++**%##%***#&@&&@@&#########&&&&&######%%%%%%%%%%%%%%%%%%*********+++++++++++++++++
....-..............-------++++**++++----------------.------------------------+-------+*%*%%%%%%%***********%##%%#########%%%%%%*******%+...-**+*#*****+++++++++++............--........................ .........-.-......+++--- ..-.--..-..-+*+-+*-+-++-+--.---+........ .+%#%+*%+..+-.-++...+..---...-.... -+......... .++.-...--+*-++-+*%-+%**%*%+-#**#&&*##%***+++++++++++++++++++++++++++++**%*****#&#@&&##&##########&&&###%%###%%%%%%%%%%%%%%%%**********+++++++++++++++++
.--.-..............------+++++**+++-------------------------------------------------+*%%%%%%%#%***+*%**%%%%*%%##%%%%%%%%%%%%%%%%%%%%%%%-.-.-*++*#%%****++++++++++............--........................ ........-..-.-......-+----. --.-.-....-+*+++--+.-+--++-----+....... -*%%++**..-......++-.+-..--.+-...... -+........ .++--....++.---.--+*--+***%#&%-*@@*%##*+*+++++++++++++++++++++++++++++*******##%@@%%%%%#%##%###########%%%%%%%%%%%%%%%%%%%%%**********+++++++++++++++++
.-...-.-..........-.-----+++++*+++-------------------------------------------------+*%%%%%%%##************%%%*%%#%%%%%%%%%%%%%%%%%%%%%%-.--.**+*#*********+++++++.............-........................ . .. ....--..-....--..-+-----. . .-..---.-..-*+----+-+--++------+..... .+%*%-+*+-+*++-..-..-+..+--..+#-...... ++..... .. .+*-+-..++---+..+*-.-*+**%%**%&#%%*%##*++++++++++++++++++++++++++++++++****##%&@#%%%%%%%%%%%###%%###%%%%%%%%%%%%%%%%%%%%%%***********+++++++++++++++++
....................-----+++++++++------------------------------------------------+**%%%*%%%#%*********+*%*******%%%%%%%%%*%%%%%%%%%%%%--..-**+*#*******++++++++-.............-..................... . ...........-...--..-+----... .-.---.--.-.*+--.-*+---+-..-----. . -+**++%*--*+-++%%-....++..-+-.*+--.... . .++-....... ..++.-*+-++-%+-%%+*++*-+%%+*&&%**#%%%&%*++++++++++++++++++++++++++++++++**%#*#&#%%%%%%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%*************+++++++++++++++++
....-...............-----++++++++++-------------.--------------------------------++*%*%**%%##%*******++*%*******+++***%%%%%%%%%%%%%%%%*-.---*++*%%********+++-++-....................................... . ............----.-.--+--..-.--.. .-.----.-.--++*--+++-----.------ .+*++--*+.-+.....-++.----.----.++---....... .++..........-*+.--+-++*+&#+.+++*+-***&%****%%%###**+++++++++++++++++++++++++++++++**%*%##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%******************+++++++++++++++++
-................-.------++++++++------------.--.-------------------------------+++**%%**%##%*******++*%*****+++++++++*****************--++.+++*%%***********+++.............-............. ................ ..............-++---++-..-..---.....-------.--.+*+**+---+-----.-+-. .-----+*+-.-*-*+-..-++-------...++----....... .---.........-**+.-++-+#%+-.++.+--+*##%****%%%#%#***++++++++++++++++++++++++++++++****%%**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************++++++++++++++++++
.......-.........--------++++++++------------.---------------------------------+++***%**%%##%******+**%*****+++++++-+++****************---.-+++*%***************............................................... ...........-.-.-++-..--- .-----..---..--....+*+-++--+-+-..-----..+----+*-...*++++--.-+--.-..+--.++.-.-.-...........---........-*+-+*-+#*+----+.-+--%%#&**++*%%#%#%**+++++++++++++++++++++++++++++++******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************++++++++++++++++++
...-...........--.-------++++++++-----------.-----..--------------------------+--+***%**%%#%%%******+****++++++++++********************-...-+++*%********+++++*+ ............. ............................... ...........-.---..--..--- ...--+-.--.--+-+--+-++*+--+----.-.-.---..----- .-.-+-+-.-------.-.-+..-+.---................--...... .+*+-.+%+-+---..+ -.**%&@%+++**%#%%%*+++++++++++++++++++++++++++++++*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%******************+++++++++++++++++++
.........--.......-------++++++++-------..--.-....---.-----------------------+--+***%%**%%#%%%*****+****+++++++++***%%%%%**++*********+-...-+++*%%++++++*++++++............... ................................. .......--.----...---..-.. ...--------+-.--+++++--+--.-+-------...--..--.. --.----------.----..-.-.-....... .. .......--.......-+*+%&+..-----.-..+**#&@@+++++*#%****+++++++++++++++++++++++++++++++*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************+++++++++++++++++++
.....-......-.....-------++++++++-------..--......-------.--.--------------+----+**%%%**%%#%%*****+***+++++++******%%%%**++++********++-..--+++%%*-++++++++++++............-............... ................... ............-----..-...-- .-....--------.----*+--+---.-----+.-....-..-.-+-.-.++--+-+----..--.-+--.......... . . ......--.......-+*%++------.-..+*+*%#&@%++++*%***+*+++++++++++++++++++++++++++++++*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*******************+++++++++++++++++++
..................-------++++++---------...-..........---......----------------++*%*%***%%%%%****++**+++++***+++**%%%%%*++++*******++++-...-*-+%**+++++++++++++............-................................................----...-..---.-..-. .----.-..--+-++-+--+..---------. .--. ..--.------+++--...--..+----............ .... .-- .....--+++-.+--.-- +*-+*%#&&&++++***+++*+++++++++++++++++++++++++++++++*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***********************+++++++++++++++++++
...................------+++++++-------.........................-----------+---+****%***%%%%%*+**+**++++**++++***%%%%**+++******+++++*+-...-*++%**+++++*++++++-...........--................................................-.---...--.---..... .--.---.---+++-++-----.-.---.---. -- -..---.-*+-----+.-+-.-+----.............. ......-. ... -*+..-++++--+---+%#&&@%++++*+++++++++++++++++++++++++++++++++*+*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%**************************++++++++++++++++++*
...................------+-++--------.-....................-....---------------+*%**%***%%%%%***++**+++*+++++***%%%%*++++**%**+++***+++---.-+++%%*++++++++*+++............-.................................. .............--.---.----.--...-..-+--+-+----+**++---.-----++-.--....-----.--+.-*-.-++-----.-+---.-............. .......--.. ...++-..++-.++----+%##&@@++++++*++*+++*+++++++++++++++++++++**********%%%%%%%%%%%%%%%%%%%%%%%%%%%%******************************++++++++++++++*
....-..............--.---++++---.----...........-..........-....--------------++****%***%%%%***++**+++*+++++*%*%%%%*++++*%%*++****++++--.-.-+++%#*++++++++++*-............-................................... ............-.-.---.--.---...---..-+--++---.-+**+-.---+-+++--.-....++---++----.-.-+++--...++.--................. .........---. .-+--+--*+-.---+*%##&@#++++++*+++++**+++++++++++++++++************%%%%%%%%%%%%%%%%%%%%%%%%%%%%**************************************+++*****
.......-.......-...-..---+-++--..--....................-...-..-..-------------++****%***%%%%**+++**+*+++---*%*%%%%*++**%%%*+****++++++-....-+++%#***+++++++++....................... ......................... ...........-..-.+---+-+---...--..--.--+---.-++*+--.--------+.---.-++--..---+-.+.--+---.+*--+-.................. ........ ..----....-++--%*.-----+*%%#&&@*+++++++++*+*******+*+*+++++++************%%%%%%%%%%%%%%%%%%%%%%%%%%*************************************************
................-..--..--+--+--.-.-......--......-.........-..-..-------------++%*******%%%%*++++*+*++----*%*%%%%***%****++****+++++++-..-.++++#%++++++++++++............-................................... .. . .......--...++-+++--... .-- .-.-----..-----------------.---.+++. ..-.-+..+-++-.-+--+-................ ... ......-. ........+*+*+-.--.---+*%#&&@&++++++++********************************%%%%%%%%%%%%%%%%%%%%%%%%%***************************************************
.......--......-..-.....-+----....-........-.....................-------------+*%*******%%%%*++++++*-----+%*%%%%**%%***++****+++--++++-..-.-++*##++++++++++*+.......-..... .................................. . ......---..-.---++---... -- .-.--.--...-+++-----+---.-..-- .+-. ----..---------++--+-.. .....-..-... .... .....-. ...--*%+..-.-.---+*%%#&#@%++%**%****%***************************%%%%%%%%%%%%%%%%%%%%%%%%%****************************************************
........-...-...-....--.-+----....-..............................--------+---++*********%%%%*++++*++----+*%*%%%%*%%***++****+++++--+++------++*#%+++++++++*+......-.-...-..................................... . ....----..-.--.----.-...- --.---.-...-+-+---.--.--.-----.-+.-+----..-..-...-+-++-... .......--.......... ...... . ....--..------+-+**%#&#&@*+%#####%%#%*************************%%%%%%%%%%%%%%%%%%%%%%%%%****************************************************%
-....................--.-+-----...................--.............------------++*********%%%%**++*++----++**%%%%**%***+*****+++++++++++--.---+++#%+++++++**++.....-----......................................... .. . .......-...---+------..-- .-.--......---+---.-.....-.---..+.--.-.... ...-++--++.............-........... ......... .. . ..........-----+--+*%#&##@&*%&%%&&%#%%%***********************%%%%%%%%%%%%%%%%%%%%%%%%%%****************************************************%
.....-.............-....-------....................--.-.........-----------+++***********%%%*+++*++---++*%*%%%%**%+*++****++++++++++++-----++++##++*****%*+-.....-----......................................... .........-.--.---+++-++-.-...-----..--..-++--++-----.-----..+-...----...------+-...............--.................-. ...............-----+--+*%%&&%&█#%#&*#&####%*%********************%%%%%%%%%%%%%%%%%%%%%%%%%%*********************************************%**%%%%%%
.....--.................----.--...-.............--.....-........-----------+++*%*******+*%%%*+++++-.--++**%%%%**%**++****++*++++++++++-----++++%%++++****+*-......----.-......................................... ......-......--.++---.-..--------.--.--+++-++-.--..---+---.----+--..----..--.................--...........-.. ... . ............---------+*%#@#%@█##&%%&@&&#%%%%%%%%%%%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%****************************%%*****%%%*%%%%%%%%%%%%%%%
........................----.-..........................-.......-----------++**********+*%%%*+++++---++**%%%%%**%%++**++*+++++++++++++-.---+-++%%+++++++***.......------......................................... .......-.....----++----....+-.-..-.---++-++--....--...----...-------+---.......................-........-.-.. .. .. . ............---------+**%&&##@@&&%#&@@@#&#%###%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%****************************%%%*%%%%%%%%%%%%%%%%%%%%%%
......................-.---.--..........................--..--...--------+-++**%*******+**%%**+++----++**%%%%%**%*+*%++++++--+++++++++-.---++++##*+++++***+......-------........................................ .........-...-.---++---+. .+----.--.-.----------.---..---...-+---+++---..-.. ...........................-.... .. ...... ............---------+%#&&#&@@&&##&@&@@#*++**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%####%%%%%***************************%%%%%%%%%%%%%%%%%%%%%%%%%%%
........................--..--..........................----.-------------+++**%**********%%**+++---++***%%%%*++%*+%*++++++++++++++++*-.--+*+++##*****+***-......------........................................... . ... ...----....------.--..--------.--.--++---+..---..--..++--.+*+-.---.-..............................-..... .... --.... ............--------+*%##&&&&&&&&&@&#++*++-+*%%%%%%%%%%###%%%%%%%%%%%%%%%%%%######%%%%%%*************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%
........................--..-...........................------------------++*%*%********+**%***+---+++***%%%%*+*%***+++**++*++++++++++-.---+-*+#%********+......------............................................. ..... ...........-----+-.-...-..---..+-.++-.------.-..--.--.-++++..-.--...... ...........................-.-.........-...... .........--.------+**%%#&&&&&@&&@*-*+----***#%%%%%#######%%%%%%%%%%%%%%%%%#######%%%%%************************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
........................-...........--.............-..--------------------+-*********+**+**%**+----++****%%%%*+****+++***+++++++++++++-..--++*+%********%+.....-------............................................. .... ......-.....-+--++-. ..--.--.-..-.--.-------------.+-+**-.-...... .............................--...-..........--.. ..............-.------+*+%%%##&&&@@&*-*---+---+*%%###########%%%%%%%%%%%%%%%%%#######%%%%%%***********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
....-..................-..............................------------------+-++********+******%%*++---++****%%%%*+****+++**++++++++++++++-..--++++#%*%****%%-.....-------...................................................... .............-----++-...-.--.--..-.--+-----.-+-.---+**-----.-. .....- ........... ...........-..-...........--..-.............---..--++***%*%%###&&%-*..-.-----+%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%#####%%%%%%%*********************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#
......-.............................................--------------------+-+********++***+**%%*++--+++****%%%%*****+++***++++++++++++++-...-++++&%*****%%*......------............................................... .................... -----++--...--.--..+-.---+-+-----+--**-+------...... ....-.............. .......--..--.............-+.--..............-----+*+*+%%**%##%+-*--**-.-+-++%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##%%%%%%%%******************%%%%%%%%%%%%%%%%%%%%#####%%%%%####
....-.-...................--......................-..---------------------+*******++++**+**%%*++--++****%%%%***+*++++++*+---+++++****+-.-----+*&%******%+......------......................................... ..... ........--......... . .--------..-......-...----------++-+--++----....................-......... ......-----..-..........-+.............---.+++-+++***%**%%*+---++**++%+-++%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***************%%%%%%%%%%%%%%%%####################
...........................-.........................--------------------++*******+++++**+*%%*++--+*****%%%%*%*+*++++++*+-+++*****++*+-...-+++*#%*******-......------......................................... ..... ........-.......... . .--++++-.-..-...--+---+-+-.--+-+++-++-++-.. ...............--................--..-+---.............---..........----++----++******+----++++++-*++-++%**%%%%%%%%%%%%*%%%%%%%%**%%%%%%%%%%%%%%%%%%%*************%%%%%%%%%%%##########################
-...............................................--.---------------------++**%*****++++++*+*%%*+++-+*****%%%**%*+*+-++++**-+**+++++--+-...--++-*#*******+......------.......................................... . ......................... . .-----..--..-.--++--.-+--.----++++--+-............-.........-................-.-.-+......-........-+-...........---+++++-++++**--.-+--+**%%**-+%+-*%******%%%%%********%%*******%%%%%%%%%%%%%%%%***********%%%%%%%%%%%%###########################
-....................-..........................-----------------------+++*******++*++++***%%*+++-+*****%%%****++++++-+**+**+++++++----.---++-*#*++++++-.......----......................................... .................-.--....... .. ...-------...---+--.--.-+----+--+++-............ --......-..--. ....... .-......--.....-.........-*+-...........---+--++++++++.-+----++***+*-+#%-*%*******************************%%%%%%%%%%%%%*******%%%%%%%%%%%%%%%############################
...-.............-..............................----------------------+++********+**++++***%%**++-+***%*%%%*****+-+++-+**+++++++--------.--+++*#+++++++.......-----....... ................................. . . ..............-....... .-----......-++--..-----+-+++--- .... ........ .....-.....-+-.....-...--....---....--.........-*++-...........--+-+-+++*----+----.-*+*+%***#&+********************************%%%%%%%%%%%%%********%%%%%%%%%%%%%##############################
-.-............-..............................----------------------++++*********+++++++***%***++-+%*%%*%%%%****+-++++**++++---------------*++*#+----++.......-----....... ....................-............ . ...................... ..-.--.--....++--..----++--+-- ...... ....................-.---.-.......--...--.................*+-+-............+++---+-..---++.---+-+-*+**%&++*******************************%**%%%%%%%***********%%%%%%%%%%%%###############################
-......--................................-....---------------------++++**********+++++++******++-+*%*%%*%**%***++-++-+*++++----------------+++*#+------......-----........ ................................ . . . ............ ........ .---.-....-..----...---+-.----...............................--.-.......---.-+-................-*+--+---.....----+------..++---..-+--+*%%+%*+%++************************************%%%%************%%%%%%%%%%%################################
-......--...-....-...........................---------------------+++************+++++++******++++*%*%%*%**%****+++++**+++-----++------.---+++*%*-----...-...-----....... ....................-............ .. ........ .... . ..... .------...-..----...-.--.----...............-...........-...-...-.......-----+-.............. .-*+--------.---.+--+-++-.-+.-. .---.--++*#%%%+%*+*****************************************************%%%%%%%%%#################################
-......--.---...-............................-------------+++++++++**************++++++++*****++++*%*%%*%***%***+++++++++------+-------.--+*++*%+-----........---..... ................................... ..... ...... ...... ..... .+.--.--..-------.-..---.-.-+-.... ...... .........-..-.-. .....-..-..-------+-............... -*+-----+++--+*+++--+-++..+.+....-++--++-**##%%*+*****************************************************%%%%%%%%%################################&
--........-........-............-............--------------+++++++***************+++*++++*****++++***%%*%***%*+**+++-+*+++----+-------..--+++-%%+----.........---.. . .... .................................. .. .. ... ....... ...... .+-.--.----------.--..-.-- ---... .... . ............-.-.......--...----+---+-..............-.-*+------++-+-+++++---++.-.-. -..---.-++*+%*+*+#*************************************************%%%%%%%%%%%%%#################################&
.......-..-....--..................----.....-.-----------+++++++**************+*+-+++++++*****++-+***%%%**+****+*++++*+-++------------..--++++%%+---...--.....--. ........................................ ...... .. ... . ..... .-...+--.-.-----.......-...---... ...... .. ............-.........-..-..----++................-+%+----++++---------.-+-.+--. .-.+--.---+*-%*+*%%***********************************************%%%%%%%%%%%%%%####################&############&
.--..........-.---.................--........---------+----+++****************++++++-+-++*%**+++-+***%%%**++***+*++++*+-+++-----------..--**++%%----....-.....--. .. ... .... ... .........-................ . . ..... ...... .. ..... .-....----..----...-.-+-...---....................................--..---.--++--...............*%+-------++----.-...---.+--...-.-++--+*-**++*+************************************************%%%%%%%%%%%%%%%#############################&####
-............................-...-.-...-.....---------+++++++++**************+++*++-++-++****++--+****%%**+++****+++++++++------------..--++++*%----.........--.. .. ......... ... ........................ .... ............ . .... .-.....--...-----..-++-....--- ................................-....-.+-----++................-*%---------+++++---..--..+--......--.-+++-*%%*+*%%*************%%******************************%%%%%%%%%%%%%###########&&&################&&&##&
............-....................-..-...-.-.-----++-+++++++++****************++**+--+-++****++---+*****%**++++***+++++-+++------------..--+*++**-.-..........--. .................. .................-.... .. .......... ....... ...... .....-.........--- .-..-...-.-.......................................--+---+++.-.........--...-*%-------.-**++---.-.....---...---+++.-++--*+++*#%************%%%%****************************%%%%%%%%%%%%%#########&&&&&&&&##############&&&&#&
.......................--.-..--.-..--.------------++++++++*****++*******+*++**+++-----++***+++---+********+++++**+++++--+-------------..--*+++**-.-..........-...... ....... .............................. . . ........... --..... . . ............---........-....-.-...-.........................................------+++.............-..-*%--------+++----.--.---.-*.-..--.-.+--++-*++++%*%%%*********%%%%%%**************************%%%%%%%%%%%%%#########&&&&&&&&&#############&&&&&#&
............................--.--------------------+++++++++++********++**+++++*+-----+***++++---++*******++++***+++++--++------------...-++++%%-.-.........--....... . .................................. .. ... .......-........ . ......--....-...-...--.--...-.........................................---+++++...............-+*%------+*++++--...-------*-+-.+-++----++++--+++***%********%%%%%%%%%***********%%%**********%%%%%%%%%%%#########&&&&&&&&&&&&###########&&&&&&&&
--..............-...........--....--.----------+++++++++++++*********++++++++++*--+--+****+++----++****+**++++***+++++--+-------------...-++++%%--. ........--................................-........... .... .............-..... .... . .......-.--.----.-.....-...--- ......... ........ ....................-----+*---.............-+*%-------***+++-...---+--.+.--.+++-+--+-++++++-*+%+%********%%%%%%%%%%%%%%%%%%%%%%%%%%%****%%%%%%%%%%%#########&&&&&&&&&&&&&###########&&&&&&&#&
-.-............................------------------++++++++++++++*****++++++++++++----+****++++----++****+***+++***+++++--+-------------...-+*+-%%-...........-.... ...................................... .. ...............---... . .... .....---.--.--..--...--......-........... ...................-........----++*+--.............-+%%-------+**+++-..---++----.--*+---++-+*-+-++++%*%+%%*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#########&&&&&&&&&&&&&&&###########&&&&&&##&
..............................------------------++---+++++++++******+++++++++++++--+**+++++++----++****++++*+++**++++++-+-------------...-**++%*.. ........--............................................... ................--... ........ . ....-.-..-------.-...---....-............ ........... ...............----++*+.-.............-+**---.-+++*%*++---.--+++------++---+++-++-+**++*%*-%%*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#########&&&&&&&&&&&&&&&&&###&&&&###&&&&&&##&
..............................-----.-----------+-+++++++++++++***+++++++++++++++--+*+++++-+++-.-++++***+*++*+++*++++++----------------..--**+-#*.. ........-................................................ ................-........ ...... ..-..--...------.---..-..-...--........................ ......-.-.......-----*+...............-+%*.---.-+*%%%*---..----+---+--++++--+*%%*++--++++*+*%%%*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
..............................-------------------+-++++++++++***+++++++-++++++++++++++++-+++--.--+++*%*+*+++++*+++-++---+-------------...+***+#%.. .........-..........................-................... ................-.--.... .......... .-.-.-...--.---......--.--..--...... .-.. ..-... .......-.-..-.--------*+-............ .+*%*.-.-----*%%%+--.---.--------++-+*%%%##%***--++*%+*%%%***%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%###########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
................................-.--------------+++++++++++++***++++++--++++++*++++++-+--+++------++****+++++**++++++---+------------....-***+#*. .........-.............................................. . .. .. ..... ...- ..... . .. .-.-..----..-----.--.--....---.................... ........--....---++++%+............. .+*%+.------++**%+--..-+-.---.--+.-++*++**#%%%%*++**+*%%%******%%%%%%%%%%%%%%%%%%%%#%%%%%%%%%%%%##############&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
................................-----------------+---+++++*****++++----+++++++*+++++-++-+++----.--++****+++++**++++++----------------...--*%*+#* ...........--................ .........--................ .. . . ......... ... . ..-....-----..---+----++-..-.---.................. -. ............---...-----+%+............. -+*%+.-------+*%%*-....----.-...+--+--*%%%#***+**%++*%%%***%***%%%%%%%%%%%%%%%%#############%#################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
.............................-.----------------------+++*****+++++----+++++++**++++--+-+-++---..--++*****+++**+++++++----------------...--+**+%+ ......-....-................. ......................... . .. ................ ... .........+......-----. -+-.--.---..... ...... .. ... ..............-...---+**-.............-++*%+.--.---+++*%%-......-..--...+++*%%%*%%%%*+++***##%%%%*%*%**%%%%%%%%%%%%%%%##############################&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
...........................-------------------------+++****+++++++++--++++++**+++-----++--------.-++*****+++*+*++++++-+--------------...--*%*+%- ...........-.............................................. .. ...-.. ................-..-...-....----....-+-.--.-+-....... .... . .. . .....-............---+*%+.............-+*%%-..--.---+****+........-.....--+%%++*#&&#%%*++*+%#%%%%******%%%%%%%%%%%%%%##################&&&&##&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
..........................-..--------------------++++++****+++++----++*++++**++------+------.-----++*+****+++**++++++----------------...--***+%- ...........-............................................... . ..-............... .--..-----..----....--.----.-+-.--.... ... ..... . ..................--+*%+..............+***..-...----++*%*.......---.-..--+++*%**++------+**%%%%%%*****%%%%%%%%%%%%%%##########&&##&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................-------------------+++++++*++++++-------+++-+++*+++--+----------.....-++*******+*+*+++++++-.-------------..-.-***+#- ...........-.............................................. ..................... .-..--.---........-..------..+--...... .-. .......... ......-...........-++%*............ .+%%*....---------*%-.........---.-+-+***+*%++++....++%%%%%******%%%%%%%%%%%%##########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................-------------++++++++++***+++++--------++----++++++-+----------.-....-++***+++++*+**+++++----------------..-.-***+&+ ...........-............ ............................... . ......... .-...........-+.---... .-..----......---..+-. .......-.--...-............. .............-+*%-.............+*%*.-..---------++-..--..-...--.-+++*-.*%#&*%%*--.--*%%%*******%%%%%%%%%%%###########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................-------------+++++++*+++++----+--------------+++++---------------...--++***+++++**+*+++++----------------..---*+++%-............+............ ................................ . ........................--.--.-- .+------++.....-....++-.. .....-..-......... .......... .......---++%+............-+*%*.-.--------.---.......--.-----+++-+++*++#*+%+++---*%%********%%%%%%%%%%###########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................---------++++++++++++++---------------------++++--------------.......-++***+++++*****+++-----------------..-.-+*+*#- ...........--............................................... ... .......-............--.---+.-----+--++%+-.+.--...+--........+-.. ............................----***............-**%%-.-----------.-.--.....-.--+---.-*+**#%**#*+++%-+-+**********%%%%%%%%%%##########&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
...........................-------------+++-+--------------------------++-----..----------.....--.++***++++++*****++-----------------....-+*+*%-............--............................................. ........................--.-.+..----+--++++**.-+.----++-.. ...-.+-..-.---....--.......... . .....-.---+*-............+*%%----------..------.....-------..+%**-*%*##%#++%++++************%%%%%%%%#############&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................-----------------------------------------+++--------------------...---++***+-++++*****++-----------------....+**+*%-............--................................................ . ....... ..................--.++-...---++-+++++-..*----.++-........-...--..-*..-...........-. . .....-.--++-...........-**%%-..-----.--.----+-.-....--.-. -.-%**%##*&#*%+-%%+***************%%%%%%%##############&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................------------------------------------..-++++-----------..-----.....-----+***+-+++++***+++-----------------..-.++*+*%....-........--........................................... ...... ..--................-........-....-....-.++++-*--+..+%*+--++--.......+*% -+....--.-....-.--............-.--++-...........+*%*%-.....--.--------...-.........-.+%+-+***++----***#+*************%%%%%%%#############&&&&&&&&&&&&&&&&&&&&&&&&#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
.........................-.-----------------------------.---------+++-----------.-.-----.-.-.------+***----+++****++-----------------..-.-+*+**..............-.................-......................... .. .-....-... ............-.........----.... ...+.**-*+-*--+-++.--+*.......-**&%-.-..-.---....---...+...........-+-+--..........+*%*%-......----------...--..... ...----*#%%%###%*++*+%**************%%%%%%%#############&&&&&&&&&&&&&&&&&&&&&&#%*%%%##&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
............................------------------------------------++--------.----------------.------++***-----++****++-----------------..-.+**+*%-.............-. ....-....................................... ...---...... ..................-------.--...--.++---..---...---++-.....-****%%-.++*-.-.........- .-. .....-++----.+---.......+%**%-.......----------.----... ....--%%#%%*-+++++++**%%*************%%%%%%##############&&&&&&&&&&&&&&&&&&&&#%********%%%%#&&&&&&&&&&&&&&&&&&&&&&&&
...............................-------..-.------------------------------..---------.-.------.-----++**+---+++*****++-----+-----------.+-.+**+*%---.-.........-.................................-........ .. ....--........... ..--............--.--.----..--.--*----.-+---+-++*+-..-..+%*+--++*#**%+-................------...---**+-.......+***%+.......-----..-----.--......--***---..+%%*-....*%**************%%%%%%#############&&&&&&&&&&&&&&&&&&#%%************%%%%&&&&&&&&&&&&&&&&&&&&&&&
.........................-......------.......----------.---------------..-----.------.------------++**+----+++****++----++++-+------.-*-.+***%%-.............-..............-........................... ...--.................--..-.......--.-.....-..--.+++++-----+-+++*-*++.....-**..-+-+%..-**-......-...---+-+-.....-+++*%%*+......-+***%+........----------..--.....--+-..+-%..##%%**+-..+%*************%%%%%%########&&##&&&&&&&&&&&&&&&&&#%%****************%*%%##&#&&&&&&&&&&&&&&&&&
........................-...-..----.-......-.-------.-----------------.....-----------------------++*+----+++******+----+++++++-----.....-**+%%..............--................................-........ ...--.... .............-..........--.-.+....---.+--+*++--------++-++-.......-..----%-.*-+*-...-.+--+--.-....------++*%#%*+-...--+**+*+........----------...---.---+---.-++++.**-.+*++---*************%%%%%%%########&&&&&&&&&&&&&######%%*******************%%%%%%%%%###&&&&&&&&&&&&
.......................--------------........-...-..-------..-----------..--..--------------------++++---+++*****+*+++++++++++++----.....-+*-*%..............--......................................... ...--.. .......----....---......-.-----.-+--.-+++-+++%+--.----+-+*-..............%%+**-+*---*++--.........------++*%%#%+-....-***+**--......------------.------....-+---#&#*+%#-**++*-+************%%%%%%%#########&&&&&&&&###%%%%%%%**********************%%%*%%%%%%%%%%#########
.......................--------------...............--------------.----.....---------------------+++++-++++****+++**+++++++++++-----.....++*-**..-...--......--......................-.................. . ..---.. .....------.....----...-....---------.-++--+*%%++++-**-+*+-...--.. ....--%**+-.**-----.......--.--------++%%%%%+...-++*+-*+----------------+--...----..-+-+++++*###*%%%**-+*%%+************%%%%%%########&&&&&&&&##%%%%%%%%***********************%%%%%%%%%%%%%%%%%%#%%%#
.....................---------------.-......-.....-------------------.--.....--------------------+++++++****+++++***++++++++++++----....-+*+-**.-...---......--........................................ ..--.. .....-----.........-..--..------..-++--+**-+**%*+-+--*++*++....-... ..---+++**--%+.-.-...--..--.-----+-++*%##%*+-..-++*+-**---.---------------..---...--.+*-++*-+****##%*+*+%**************%%%%%%########&&&&&&&##%%%%%%%*************************%%%%%%%%%%%%%%%%%####%#
.....................----------------......-----.--------------------.----...------------------+-+*********+++++++**+***+++++++++---....-++*-**.------.......-..............-........................ .--... ........---.---... ...-.--.--..-..-.+%**%%*-.-****+---+-+**----.....---....-*#*+-+#..-----.----+-----+++++*%%#%%+-..+-**+-**-------------++-++-.----..-+---+--*%*.-*%#&###%*****************%%%%%%########&&&&&####%%%%%%%************************%%%%%%%%%%%%%%%%%####%%%
....................-----------------......-.-..----------------------------------------------++********++++++++++******+++++++++---....-++*+*+.-------......-..............-....................... ...... ......-...----..........--......--.....--..+--+----+**+-**-------+---....-.-+-.-+#+.-++-----+++*+---++++**%%%#%+-...-**--+%-----------+++++++-.-+--+--++...----+*++-***+**+#***************%%%%%%#######&#&&######%%%%%%%*****%*%%*******%**%%%%%%%%%%%%%%%%%%%%%%%##%%%%
..................------------------------.-----------------------------------------------++++++****++++++++++++++******++++++++++--....-+**+%+.--------....--...................................... ..-. . . ...............---..........-----..----+++++--++-++++*+++++-+---..........-+..-%%--++++--++++*+++--+**%%###%%+....+*+--+%------------+++++++.-++---.-+--.---+%###**###%*+%%**%************%%%%%#################%%%%%%*%%%%%%%%%%*******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
..-.............-.-----------------------------------------------------------------------++++++***++++++++++++++++******++++++++-+.-....++*++%+.--------...---.............................. ...... .. .-. ... ......-.........--..-----.........--..-++++-+++---+--++---...-.. ...........-+--%*+%+--+++-++*++++++-+*%%###**+. ..+*+--+%+-----------+++++++--+++--....--.---+-----+---++*#%#%************%%%%%#################%%%%%%%%%%%%%%%%%%******%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
..-..........-..-.....--.--..----------..-----------------------------------------------++++++*+++++++++++++++++++******+++++++++- -....+**++%+.------.....--...-............................... .. .-. .... ....----........--.-------.---.............-.........................-.-......-+*---+*+++++++**+++++--+***+++--.. -+*+--+*-----------++++++++--++++---...-.--.. .-+++-*+---*&%%**********%%%%%%#################%%%%%%%%%%%%%%%%%%*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
....................---...------------.------------------------------------------------++++++*+++++++++++++++++++**********+++++-..-..-.++*++%+.-------...---...-................................ .. .-. ... ......-+-........-.-..--......----..----..----............---.--+---++----..........-**++-+++++**++--+-++-++-... .-+*+--+*+----------+++++++++-++++-...+-....--+---..-*++*..-+%%**********%%%%%%%###############%%%%%%%%%%%%%%%%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
...................--.--..-----..-----.------------------------------------------------++++++++++++++++++++*++++++**********++++-..--.-.+**+**+------.....---.........-...-.......-.............. -.. . .. .....-.---........-...-..-.......-------------+--+---------+------++-+++------....--..--*%+++++%%##*+-+-++*++-....--+*+--+%+-+--+++---+++++++++--++++-.--. .--*---+-.-*.+---++%**********%%%%%%%###############%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***
...................-...-.........-......-----------------------------------------------++++++++++++++++++*+++++++***********+++-...----.+**+**+------....---.........--.-........-.............. . .-. .. ......-.---........--........-.......-----------+-+++-------++--.--+++++++--..----.---.--+++**#&@&&##%+---+*+++....--+++--+%+-++-++++++++++++++++-+++--.-.. . ...%+++-+*%***-+-*-+%********%%%%%%%%%###########%%%%%%%%%***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%******
.................-.....--...-..........---------------++----------------------------+-+++++++*+++++++++++*+++++++************++. ..-..--**+++*+------.-.----.........--........................ .-.. ...........--.---.........-.-................-------------+--..---+---.---++++++-..----..----.--.++%@@@@##&#--+++-++...-..++---+*+++++++++++++++++++++-+++--.......-.-*--%#%%%***++-+%+************%%%%%%%#########%%%%%%%%%%***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%********
.......................---..-.....-.------------------++-++---------------------++++--++++++*+++++++++++++++++++**********++++. ...-.---+*++**-------.-.----...........-..................... .-... ............-----...-----....--...............--.-+-----------..---------.---++++-.---...-----..---*%##&&#*#%----+++-.....+++---*+++++++++++++++***++++++++--.-......-+-..-+*...+-+-*%+************%%%%%%%########%%%%%%%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%********
...................-..-........--.------------------------+--------------------+------++-+++++++++++++++++++++++***********+*-.....-..--+*++**------...---....-...-...............-........... .. .-... ..........-.------..-------......--........-...-------.-------.---...------------..----...---+-..-----*#**&#&%..-++--.....**+--+*+++++++*+++++++++++++++++*+--+-.......-+-+**%%%%*--+#%*************%%%%%%#####%%%%%%%%%%%%%%%**%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**%**%***********
--.......--.......---.--..-....-----------------------------------------------+-------++-+++++++++++++++++++++++********+**++......-..--+*++++------...---..........--..................-...... . -... ..........---------..--------.......--.........--...--...-----...-..-.....-----+--..-++-....----....--++++-%@#@&+-+++*+-..-**+---++++++++++++++++*+*+++++++++++-*+--+-+*%*++++*%%*%%+*%%*******%**%**%%%%%%%%%##%%%%%%%%%%%%%%%*%%%%%%%%%%%%%%%%%%**%**%**********************+*
-.........-.....-..---------------------------+------------------------------+--------+-+-++++++-+++++++++++++++*****+++++++.......-.----**+**-----....---..........-.....-....---.......... .. .... .......-..--.------.---------...................---...-------............-.....---..-++-...-.---....----+*+-%%%&#%-+*+*+...+++---++++**++++++++++++++++++++++++-.-+++++-. .-..++*.--+*%+*************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**%%%%**********************++++++*
..............--.-----------------------------+-------------++--------------------------+-++*+++-+++++++++++++++****++++++++......--..--+**+**------.-.---....-..--......--...-............ .. ... .-... ........-.---..---.--.--------......................--.-..----.......................-++--...----.....-+-+++++**#%&%++***-..+++---+++++*+++++++++++++++++++++++-+---+. -+**--.- -++---+*************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***%%%%**********************+++++++
.............--.---------------------------------------------------------------------------++--+--++++++++++++++***++++++++.......--..--**++*+-----....--.--.-.----.....---...--.....+.... ... .-.-- ........-..---.------.--++-++--.....-................--------........................-+++-......-.....-+++++--+*&*%&%+***-.-++-.--+*+++++++++++++++++++++++++++----- ---+#%+-* -++++%+-************%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*%%*%%%************+**********+++++++